gpt4 book ai didi

javascript - Laravel 依赖选择

转载 作者:行者123 更新时间:2023-12-03 00:14:00 29 4
gpt4 key购买 nike

我已经为此苦苦挣扎好几天了。我必须选择框。一个用于部门,另一个用于部门。代码是:

路线:

enter image description here

查看字段:

enter image description here

Controller :

enter image description here

Javascript:

enter image description here

当我单击第一个选择时,我可以获得相关部分,但选择的部分不会附加。我究竟做错了什么?我正在使用 Laravel 和 SQL Server 实现这个解决方案。

1st department

2nd department

感谢所有帮助。干杯,继续努力:)。

最佳答案

在几个月没有机会使用 Laravel 后,我花了一些时间来解决这个问题。我想要 3 个依赖于葡萄牙国家的组合框(国家、地区、县)。我实现的解决方案记录在下图中。如果您有疑问,请随时提问。我知道这不是完美的解决方案,但这就是我设法得到的:)。谢谢您,继续努力。

路线:

//Listas (Distritos e Concelhos)
Route::get('/website/candidaturas/obterlistadistritos','Oportunidades\RecrutamentoController@obterListaDistritos');
Route::get('/website/candidaturas/obterlistaconcelhos','Oportunidades\RecrutamentoController@obterListaConcelhos');

查看字段:

<label for="paisCandidatura">País</label>
<select onChange="" class="form-control {{ $errors->has('paisCandidatura') ? 'is-invalid' : '' }}" id="paisCandidatura" name="paisCandidatura">

<option value=""></option>
@foreach($paises as $pais)
@if($pais->id == old('paisCandidatura'))
<option value="{{$pais->id}}" selected>{{$pais->nome}}</option>
@else
<option value="{{$pais->id}}">{{$pais->nome}}</option>
@endif
@endforeach

</select>
@if($errors->has('paisCandidatura'))
<div class="invalid-feedback">{{ $errors->first('paisCandidatura') }}</div>
@endif

<label for="distritoCandidatura">Distrito</label>
<select onChange="" class="form-control {{ $errors->has('distritoCandidatura') ? 'is-invalid' : '' }}" id="distritoCandidatura" name="distritoCandidatura">
<option value =""></option>
@if(old('paisCandidatura') == 141)

@foreach($distritos as $distrito)

@if($distrito->id == old('distritoCandidatura'))
<option value="{{$distrito->id}}" selected>{{$distrito->nome}}</option>
@else
<option value="{{$distrito->id}}">{{$distrito->nome}}</option>
@endif

@endforeach

@endif

</select>
@if($errors->has('distritoCandidatura'))
<div class="invalid-feedback">{{ $errors->first('distritoCandidatura') }}</div>
@endif

<label for="concelhoCandidatura">Concelho</label>
<select onChange="" class="form-control {{ $errors->has('concelhoCandidatura') ? 'is-invalid' : '' }}" id="concelhoCandidatura" name="concelhoCandidatura">
<option value =""></option>
@if(old('paisCandidatura') == 141)

@foreach($concelhos as $concelho)

@if($concelho->id == old('concelhoCandidatura'))
<option value="{{$concelho->id}}" selected>{{$concelho->nome}}</option>
@else
<option value="{{$concelho->id}}">{{$concelho->nome}}</option>
@endif

@endforeach

@endif

</select>
@if($errors->has('concelhoCandidatura'))
<div class="invalid-feedback">{{ $errors->first('concelhoCandidatura') }}</div>
@endif

Controller :

    /**
* Return a list of districts associated to a country
*/
public function obterListaDistritos(Request $request)
{
$distritos = Distrito::all()
->where("pais_id",$request->pais_id)
->pluck("nome","id");
return response()->json($distritos);
}

/**
* Return a lista of councils associated to a district
*/
public function obterListaConcelhos(Request $request)
{
$concelhos = Concelho::all()
->where("distrito_id",$request->distrito_id)
->pluck("nome","id");
return response()->json($concelhos);
}

Javascript:

    <script type="text/javascript">
$('#paisCandidatura').change(function(){
var paisCandidatura = $(this).val();
if(paisCandidatura){
$.ajax({
type:"GET",
url:"{{url('/candidaturas/obterlistadistritos')}}?pais_id="+paisCandidatura,
success:function(res){
if(res){
$("#distritoCandidatura").empty();
$("#distritoCandidatura").append('<option value=""></option>');
$("#concelhoCandidatura").empty();
$("#concelhoCandidatura").append('<option value=""></option>');
$.each(res,function(key,value){
$("#distritoCandidatura").append('<option value="'+key+'">'+value+'</option>');
});

}else{
$("#distritoCandidatura").empty();
$("#concelhoCandidatura").empty();
}
}
});
}else{
$("#distritoCandidatura").empty();
$("#concelhoCandidatura").empty();
}
});

$('#distritoCandidatura').on('change',function(){
var distritoCandidatura = $(this).val();
if(distritoCandidatura){
$.ajax({
type:"GET",
url:"{{url('/candidaturas/obterlistaconcelhos')}}?distrito_id="+distritoCandidatura,
success:function(res){
if(res){

$("#concelhoCandidatura").empty();
$("#concelhoCandidatura").append('<option value=""></option>');
$.each(res,function(key,value){
$("#concelhoCandidatura").append('<option value="'+key+'">'+value+'</option>');
});

}else{

$("#concelhoCandidatura").empty();

}
}
});
}else{

$("#concelhoCandidatura").empty();

}

});
</script>

结果:

enter image description here

enter image description here

enter image description here

关于javascript - Laravel 依赖选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54601317/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com