Laravel CRUD Ajax 编辑:在下拉菜单中显示 table 中的选定值

Laravel CRUD Ajax Edit: show selected value from table on dropdown

控制器:

$school_edit = SchoolData::find($school_id);

Ajax:

$('#edit_school_name').val(response.school_edit.school_name);                      
$('#edit_school_description').val(response.school_edit.school_description);
$('#edit_cat_id').val(response.school_edit.school_id);
$('#edit_subject_name').val(response.school_edit.subject_name);

形式:

<input type="text" id="edit_school_name" class="form-control form-group w-100" placeholder="School Name">
<textarea id="edit_school_description" class="form-control w-100" placeholder="School Description" cols="50" rows="10"></textarea>

我当前的代码输出 school_name 和 school_description 没有任何问题,但我如何在下拉列表中执行相同的操作?例如,选项是“数学”和“科学”,在 table 数据中,选择了“科学”,我需要第一个选项在我的编辑中显示为“科学”。

所以基本上,如果选择“科学”,它将看起来像:

  <select id="edit_subject_name">
    <option>(selected subject from database)</option>
    <option>Math</option>
    <option>Science</option>
  </select>

一般情况下,在加法表中,只有数学和科学两个选项。编辑表单会有三个,编辑中的第一个选项永远是从数据库中选择的。

我知道我不能简单地做:

<option id="edit_subject_name"></option>
<option>Math</option>
<option>Science</option>

因为选项内容将为空

如有任何帮助,我们将不胜感激。

引用 :

  1. 为您的选项赋值。

    例如:

    <select id="edit_subject_name">
       <option value="Math">Math</option>
       <option value="Science">Science</option>
    </select>
    
  2. 在你的 AJAX:

    $("#edit_subject_name").val(response.school_edit.subject_name).change();