mercredi 8 février 2017

Laravel 5 Ajax url not executing route

I followed this tutorial on dynamic droplists but my 2nd droplist is still empty. The route is never reached. This statement in below js file executes correctly console.log(sportID); This line in controller is never reached: print_r('I am here');die();

view:

            <div class="form-group ">
                <label for="sport" class="col-md-3 control-label">Current Sport</label>

                <div class="col-md-6">
                    <select class="form-control" name="sport" id="sport" >

                          <option disabled selected value> -- select an option -- </option>

                    @foreach($sports as $sport)
                      <option value=""></option>                                                  
                    @endforeach
                    </select>
                </div>
            </div>     

            <div class="form-group ">
                <label for="position" class="col-md-3 control-label">Current Position</label>

                <div class="col-md-6">
                    <select name="position" id="position" class="form-control" >
                    </select>
                </div>
            </div>  

route and controller:

Route::get('/admin/athlete/new', [
    'uses' => 'NprController@getCreateAthlete',
    'as' => 'admin.new_athlete'
]);
Route::get('/admin/athlete/new/ajax/{id}', [
    'uses' => 'NprController@myformAjax',
    'as' => 'admin.new_athlete_ajax'
]);

public function myformAjax($id)
{
    print_r('I am here');die();
    $positions = Position::where('sport_id','=',$id)->get();        
    return json_encode($positions);
}

JS:

$(document).ready(function() {
$('select[name="sport"]').on('change', function() {

    var sportID = $(this).val();

    if(sportID) {            
        console.log(sportID);
        $.ajax({                
            url: "/admin/athlete/new/ajax/"+sportID,
            type: "GET",
            dataType: "json",
            success:function(data) {                    
                $('select[name="position"]').empty();
                $('select[name="position"]').append(' Please choose one');
                $.each(data, function(key, value) {
                    $('select[name="position"]').append('<option value="'+ key +'">'+ value +'</option>');
                });
            }                
        });            
    }else{            
        $('select[name="position"]').empty();
    }
});
});



from Newest questions tagged laravel-5 - Stack Overflow http://ift.tt/2k2S0RG
via IFTTT

Aucun commentaire:

Enregistrer un commentaire