嗨,大家好,新手!我有2个表City
和Department
,我想做的是,当我在第一个选择输入中选择一个City
时,第二个选择输入向我显示每个Department
从City
中选择。
我的两个表都填充到数据库中,并且我正在像这样检索内部的值
$dairas = DB::table('daira')->pluck("daira","id");
$direction = Direction::all();
$daira = Daira::all();
return view('direction.index',compact('direction','daira','dairas'));
P.S “ daira”是城市,并且正在返回表格中的其他城市
此代码正在从数据库和内部检索Department
的值Department tables
中有一个城市ID daira_id
public function getStates($id) {
$communes = DB::table("commune")->where("daira_id",$id)->pluck("commune","id");
return json_encode($communes);
}
PS的“公社”是部门
这是我的表单代码
<div class="form-group">
<select name="daira" class="form-control">
<option value="">--Select Daira--</option>
@foreach ($dairas as $daira => $value)
<option value="{{ $daira }}"> {{ $value }}</option>
@endforeach
</select>
</div>
<div class="form-group">
<select name="commune" class="form-control">
<option>--commune--</option>
</select>
</div><div class="col-md-2"><span id="loader"><i class="fa fa-spinner fa-3x fa-spin"></i></span></div>
<div class="form-group">
<label for="exampleInputEmail1">Intitule :</label>
<input type="text" class="form-control" name="intitule" required>
</div>
这是我的Js
代码
$(document).ready(function() {
$('select[name="daira"]').on('change', function(){
var dairaId = $(this).val();
if(dairaId) {
$.ajax({
url: '/states/get/'+dairaId,
type:"GET",
dataType:"json",
beforeSend: function(){
$('#loader').css("visibility", "visible");
},
success:function(data) {
$('select[name="commune"]').empty();
$.each(data, function(key, value){
$('select[name="commune"]').append('<option value="'+ key +'">' + value + '</option>');
});
},
complete: function(){
$('#loader').css("visibility", "hidden");
}
});
} else {
$('select[name="commune"]').empty();
}
});
});
这是路线代码
Route::get('states/get/{id}', 'DirectionController@getStates');
Route::resource('/direction','DirectionController');
现在,每次我从第一选择输入中选择城市时,第二选择中都找不到部门!我该如何解决?
希望我的问题很清楚,在此先感谢!!