【发布时间】:2019-12-27 04:33:50
【问题描述】:
我正在尝试做一些相关的下拉菜单,显示来自州、街道和 来自其他国家的教区,但下拉列表只显示州而不是其他事情,我想知道发生了什么以及我该如何解决它
- 下面我将让我的下拉代码、控制器中的函数、路由和脚本
- 还有一个名字叫
Lugar的东西是我的模型
Cliente_naturalController中的函数代码
public function getMunicipio(Request $request){
if ($request->ajax()){
$municipios = Lugar::where('fk_lugar',$request->id_lugar)->get();
foreach($municipios as $municipio){
$municipiosArray[$municipio->id_lugar] = $municipio->nombre;
}
return response()->json($municipiosArray);
}
}
public function getParroquia(Request $request){
if ($request->ajax()){
$parroquias = Lugar::where('fk_lugar',$request->id_lugar)->get();
foreach($parroquias as $parroquia){
$parroquiasArray[$parroquia->id_lugar] = $parroquia->nombre;
}
return response()->json($parroquiasArray);
}
}
无效的下拉代码
<div class="form-group row">
<label for="lugar" class="col-md-5 col-form-label text-md-right">Municipio</label>
<div class="col-md-6">
<select id="municipio" data-old="{{ old('id_lugar') }}" name="id_lugar" class="form-control{{ $errors->has('id_lugar') ? ' is-invalid' : '' }}"></select>
@if ($errors->has('id_lugar'))
<span class="invalid-feedback" role="alert">
<strong>{{ $errors->first('id_lugar') }}</strong>
</span>
@endif
</div>
</div>
<div class="form-group row">
<label for="lugar" class="col-md-5 col-form-label text-md-right">Parroquia</label>
<div class="col-md-6">
<select id="parroquia" data-old="{{ old('id_lugar') }}" name="id_lugar" class="form-control{{ $errors->has('id_lugar') ? ' is-invalid' : '' }}"></select>
@if ($errors->has('id_lugar'))
<span class="invalid-feedback" role="alert">
<strong>{{ $errors->first('id_lugar') }}</strong>
</span>
@endif
</div>
</div>
路线
Route::get('/municipios', 'Cliente_naturalController@getMunicipio');
Route::get('/parroquias','Cliente_naturalController@getParroquia');
视图中的脚本
@section('script')
<script>
$('#estado').on('change',function(){
var id_estado = $(this).val();
//console.log(id_estado);
if ($.trim(id_estado) != ''){
$.get('municipio',{id_lugar:id_estado},function(municipios){
console.log(municipios);
$("#municipio").find('option').remove();
$('#municipio').append("<option value=''>Selecciona un municipio</option>");
$.each(municipios,function(index,valor){
$('#municipio').append("<option value='" + index + "'>" + valor + "</option>")
});
});
}
});
</script>
<script>
$('#municipio').on('change',function(){
var id_municipio = $(this).val();
if ($.trim(id_municipio) != ''){
$.get('parroquias',{id_lugar:id_municipio},function(parroquias){
$("#parroquia").find('option').remove();
$('#parroquia').append("<option value=''>Selecciona una parroquia</option>");
$.each(parroquias,function(index,valor){
$('#parroquia').append("<option value'" + index + "'>" + valor + "</option>")
});
});
}
});
</script>
@endsection
【问题讨论】:
-
我在下面添加了答案。如果你得到 console.log(municipios);那么下面的代码应该可以工作
标签: javascript php laravel