У меня есть два раскрывающихся списка с несколькими вариантами выбора.Я хочу заполнить 2-й раскрывающийся список с множественным выбором на основе 1-го раскрывающегося списка с множественным выбором.
web.php
Route::get('allstate/{id}', 'LocationController@allstate');
Раскрывающийся список стран (1-й)
<select multiple="multiple" name="country[]" id="country" class="select">
@foreach($country_data as $country)
<option value="{{$country->country_id}}" >
{{$country->country_name}}</option>
@endforeach
</select>
Состояние раскрывающегося списка (2-е)
<select multiple="multiple" name="city[]" id="city" class="select">
</select>
Контроллер
public function index()
{
$country_data=DB::table('country')->select('country_id','country_name')->orderby('country_name')->get();
return view('location',compact('country_data') );
}
public function allstate($id)
{
$state_data= DB::table('state')->whereIn('country_id',$id)->select('state_id','state_name')->get();
return json_encode($caste_data);
}
Скрипт
<script type="text/javascript">
$(document).ready(function() {
$('select[name="country[]"]').on('change', function() {
var countryID = $(this).val();
if(countryID) {
$.ajax({
url: 'allstate/'+countryID,
type: "GET",
dataType: "json",
success:function(data) {
$('select[name="city[]"]').empty();
$.each(data, function(key, value) {
$('select[name="city[]"]').append('<option value="'+ value.city_id +'">'+ value.city_name +'</option>');
});
}
});
}else{
$('select[name="city[]"]').empty();
}
});
});