2016-09-07 13 views
2

Laravelの最初のドロップダウンで選択された値に基づいて2番目のドロップダウンを設定しようとしています。Laravel 5.2のJqueryコードでjsonデータを読み取れません

enter image description here

シネマホールが選択されている場合は、画面のドロップダウンを移入する必要があり、私はここにそうするために、AJAXを使用していました。

マイコードは

HTMLコード

<div class="form-group"> 
          <label class="control-label col-md-3">Cinema Hall 
           <span class="required" aria-required="true"> * </span> 
          </label> 
          <div class="col-md-4"> 
           {!! Form::select('cinema_id',$cinemahall,Null,array('class'=>'bs-select form-control','aria-invalid'=>'false','id'=>'cinemahall')) !!} 
          </div> 

         </div> 

         <div class="form-group"> 
          <label class="control-label col-md-3">Screen 
           <span class="required" aria-required="true"> * </span> 
          </label> 
          <div class="col-md-4"> 
           {!! Form::select('screen_id',[],Null,array('class'=>'bs-select form-control','aria-invalid'=>'false','id'=>'screenname')) !!} 
          </div> 

         </div> 

jQueryのコード

<script> 
      $(document).ready(function(){ 
       $("#cinemahall").change(function(){ 

        var cinema_id=$("#cinemahall option:selected").val(); 
        //ajax 
        $.get('/askspidy/admin/showtime/getscreen/' + cinema_id, function(data){ 
         $("#screenname").empty(); 
         // console.log(data); 

         $.each(data,function(index,screenobj){ 
          $("#screenname").append('<option value="' +screenobj.screen_id + '">' +screenobj.name +'</option>'); 

         }); 
        }); 
       }); 
      }); 
    </script> 

ルート

Route::get('/admin/showtime/getscreen/{id}','Admin\[email protected]'); 

コントローラ機能

以下であります
public function getscreen($id) 
{ 
    $screens=Movies_screen::where('cinema_id',$id)->get(); 
    return response()->json($screens); 
} 

私はその示す適切なデータにconsole.log(データ)には問題

enter image description here

をチェックしません。しかし、私はこの問題を解決するためにドロップダウンがこの

enter image description here

ヘルプのように投入されます。

答えて

1

screenobj.screen_nameあなたscreenobj.screen_namescreenobj.nameを置き換える必要があります。

$("#screenname").append('<option value="' +screenobj.screen_id + '">' +screenobj.screen_name +'</option>'); 
1

変更namescreen_nameに:あなたの応答プレビューに示すように

$("#screenname").append('<option value="' +screenobj.screen_id + '">' +screenobj.screen_name +'</option>'); 
0

あー、私は問題を考え出す愚か費やした時間を午前、私はscreenobj.screen_nameするscreenobj.nameを変更し、それが働いた...

関連する問題