如何为更新表单制作动态下拉菜单 Laravel
How to make dynamic dropdown for update form Laravel
我有兴趣在我的表单上创建一个动态下拉菜单。对于 store.blade.php 它是成功的。但是对于edit.blade.php,我不知道该怎么办。我只能为第一个下拉列设置值,而第二个下拉列,我不能。
编辑:如何显示已存储在更新表单中的idkelas列的值?
Blade
第 1 列
<select name="idkamar" class="form-control">
<option value="">Pilih kamar</option>
@foreach ($kamar as $key=>$value)
<option value="{{ $key }}"{{ ( $listkamar->idkamar == $key ) ? ' selected' : '' }}>{{ $value }}</option>
@endforeach
</select>
第 2 列
<select name="idkelas" class="form-control"></select>
Javascript
<script type="text/javascript">
$(document).ready(function() {
$('select[name="idkamar"]').on('change', function() {
var kamarID = $(this).val();
if(kamarID) {
$.ajax({
url: '/kamar/ajax/'+kamarID,
type: "GET",
dataType: "json",
success:function(data) {
$('select[name="idkelas"]').empty();
$.each(data, function(key, value) {
$('select[name="idkelas"]').append('<option value="'+ key +'">'+ value +'</option>');
});
}
});
}else{
$('select[name="idkelas"]').append('<option value="'+ key +'">'+ value +'</option>')
}
});
});
</script>
控制器
public function myformAjax($id)
{
$kelas = DB::table("kelas")
->where("idkamar",$id)
->pluck("name","id");
return json_encode($kelas);
}
public function edit($id)
{
$listkamar = ListKamar::find($id);
$kamar = DB::table("kamar")->pluck('name','id');
return view('listkamar.edit',compact('listkamar','kamar'));
}
您只需在编辑操作中传递 $kelas
。在视图模板中,您将获得它的所有值。
我有兴趣在我的表单上创建一个动态下拉菜单。对于 store.blade.php 它是成功的。但是对于edit.blade.php,我不知道该怎么办。我只能为第一个下拉列设置值,而第二个下拉列,我不能。
编辑:如何显示已存储在更新表单中的idkelas列的值?
Blade
第 1 列
<select name="idkamar" class="form-control">
<option value="">Pilih kamar</option>
@foreach ($kamar as $key=>$value)
<option value="{{ $key }}"{{ ( $listkamar->idkamar == $key ) ? ' selected' : '' }}>{{ $value }}</option>
@endforeach
</select>
第 2 列
<select name="idkelas" class="form-control"></select>
Javascript
<script type="text/javascript">
$(document).ready(function() {
$('select[name="idkamar"]').on('change', function() {
var kamarID = $(this).val();
if(kamarID) {
$.ajax({
url: '/kamar/ajax/'+kamarID,
type: "GET",
dataType: "json",
success:function(data) {
$('select[name="idkelas"]').empty();
$.each(data, function(key, value) {
$('select[name="idkelas"]').append('<option value="'+ key +'">'+ value +'</option>');
});
}
});
}else{
$('select[name="idkelas"]').append('<option value="'+ key +'">'+ value +'</option>')
}
});
});
</script>
控制器
public function myformAjax($id)
{
$kelas = DB::table("kelas")
->where("idkamar",$id)
->pluck("name","id");
return json_encode($kelas);
}
public function edit($id)
{
$listkamar = ListKamar::find($id);
$kamar = DB::table("kamar")->pluck('name','id');
return view('listkamar.edit',compact('listkamar','kamar'));
}
您只需在编辑操作中传递 $kelas
。在视图模板中,您将获得它的所有值。