嗨,每个人我都在从事动态依赖下拉列表的选择,但是当我在State列中选择某项时,我的城市列始终为空,所以我无法实现所需的输出。
这是我的控制器 specvil.php :
public function index () {
$ville=Vil::orderBy('Ville','desc')->get();
return view ('index',['vi'=>$ville]);
}
public function deleg(Request $request)
{
$delegation = DB::table("delegation")
->where("ville_id",$request->ville_id)
->pluck("ville","id");
return response()->json($delegation);
}
这是 index.php 形式的视图:
<form action="{{route('ghof')}}" method="get">
{{ csrf_field() }}
<select type="text" class="search-field location" name="spec" id="s"
value="spec" placeholder ="Spécialités">
<option selected></option>
@foreach($sp as $ss)
<option value=" {{$ss->Spécialité}}"> {{$ss->Spécialité}}</option>
@endforeach
</select>
<select type="text" class="search-field location" name="Région" id="Région"
value="Région">
<option selected></option>
@foreach($vi as $vv)
<option value="{{$vv->Ville}}">{{$vv->Ville}}</option>
@endforeach
</select>
<select type="text" class="search-field location" name="ville" id="ville">
</select>
<button class="search-btn" type="submit" id="search"> Recherche </button>
</div>
</form>
这是脚本:
<script type="text/javascript">
$('#Région').change(function(){
var countryID = $(this).val();
if(countryID){
$.ajax({
type:"GET",
url:"{{url('deleg')}}?ville_id="+countryID,
success:function(res){
if(res){
$("#ville").empty();
$("#ville").append('<option>Select</option>');
$.each(res,function(key,value){
$("#ville").append('<option value="'+key+'">'+value+'</option>');
});
}else{
$("#ville").empty();
}
}
});
</script>
最后这是路线:
Route::get('/index','specvil@index');
Route::get('deleg','specvil@deleg');
答案 0 :(得分:1)
也许这是问题所在。您正在传递Ville desc作为选项值,而不是传递Ville id,这将导致您将Ville desc与控制器的deleg()
方法中的Ville id进行匹配。