2017-05-07 32 views
-2

アカウントを登録するときに、ユーザーが学校とクラスを選択する必要があるLaravel 5.4アプリケーションを作成しています。私はいくつかのJavaScript(JQuery)がクラス選択オプションの値を変更してから、ユーザーが選択した学校を望みます。ユーザーが選択したオプション値を選択して選択します。

$ class-> school_idは、クラスがオプションとして表示されるために、選択した学校のIDと等しくなければならないことを意味します。

マイビュー:

<select name="school_id" class="form-control" required> 
    <option value="" disabled selected>Pick your school</option> 

     @foreach ($schools as $school) 
     <option value="{{ $school->id }}" required>{{ $school-> name}}</option> 
     @endforeach 

</select> 

<select name="my_class" class="form-control"> 
    <option value="" disabled selected>Pick your class</option> 

     @foreach($classes as $class) 
      <option value="{{$class->id}}">{{$class->name}}</option> 
     @endforeach 

</select> 
+0

クラスと学校の間に示さは何の関係もありません。学校IDのデータ属性をオプションに追加して、それらをフィルタリングすることができます。または、ユーザーが学校を選択したときにajaxを使用して適切なクラスを取得します。それを超えて、この質問はあまりにも勇敢で、カスケード選択のためのウェブにはたくさんのリソースがあります – charlietfl

答えて

0

は、あなたがこのためにAjax技術を追加する必要があります。..

FORM

<select name="school_id" id="school_id" class="form-control" required> 
    <option value="" disabled selected>Pick your school</option> 

     @foreach ($schools as $school) 
     <option value="{{ $school->id }}" required>{{ $school-> name}}</option> 
     @endforeach 

</select> 

<select name="my_class" id="my_class" class="form-control"></select> 

JS

$(document).on('change','#school_id',function(){ 
    var school_id = $(this).val(); 
    $.ajax({ 
     url: "/getSchoolClass", 
     data: {school_id: school_id}, 
     dataType: , 
     success: function(response){ 
      var newOptions = '<option value="" disabled selected>Pick your class</option>'; 
      $(response.data).each(function(index) { 
       newOptions += '<options value="' + $(this).id + '">' + $(this).name + '</option>'; 
      }); 
      $('#my_class').html(newOptions); 
     } 
    }); 
}); 

ROUTE

Route::post('/getSchoolClass','[email protected]'); 

CONTROLLER

function someFuntion(Request $request) 
{ 
    $data = SchoolClass::where('school_id','=',$request->school_id)->get(); 
    return $data; 
} 
関連する問題