如何为更新表单制作动态下拉菜单 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。在视图模板中,您将获得它的所有值。