我有一个更新表单,我使用select2和blade填写select2中的先前记录:
<div class="col-7 m-input--solid">
<select class="form-control m-select2 m-input--solid" id="m_select2_3" name="collegeCourses[]" multiple>
//for each of course categories
@foreach($courseCategories as $courseCategory)
//set optlabel
<optgroup label="{{$courseCategory}}">
//for each of courses in a courseCategory
@foreach($courseNames->$courseCategory as $courseName)
// set value and text and conditionally set "selected" attribute if the college already has those courses.
<option value="{{$courseName}}" {{((in_array($courseName, $college->courses())) ? 'selected="selected"' : '')}}>
{{$courseName}}
</option>
@endforeach
</optgroup>
@endforeach
</select>
</div>
<button type="Submit" class="btn btn-accent m-btn m-btn--air m-btn--custom">
Save changes
</button>
<button type="reset" class="btn btn-secondary m-btn m-btn--air m-btn--custom">
Cancel
</button>
我发现点击重置不会将select2值重新计算为默认的“选定”值。
修改
这是现有记录的更新表单,我正在设置默认选择的原始文件(与记录一起存储)。我希望能够在单击重置时将这些选定的选项设置为恢复。
这里出了什么问题?
答案 0 :(得分:0)
使用jQuery按钮单击事件重置select2值
<button type="reset" id="reset-btn" class="btn btn-secondary m-btn m-btn--air m-btn--custom">
$( "#reset-btn" ).click(function() {
$('#m_select2_3').val('').change();
//setting specific value in select2
$('#m_select2_3').val('1').change();
});