删除Select2必填字段dynamic



我在更改事件上为select2设置了这样的值

$("#myselectBox").select2().val(data.id).trigger('change.select2');

所以值被更改/选择了,但当我提交表格时,它仍然说字段是必需的。

那么,现在如何使select2 required为false呢?

$('#myselectBox').attr('required', false);

$("#myselectBox").select2().trigger('change');

问题可能是由于库验证选择列表是否有值。使用浏览器的默认验证有效(在Firefox中测试(。

$("#myselectBox").select2();
function autoSelect() {
$("#myselectBox").val(1);
$("#myselectBox").change();
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css" rel="stylesheet" />
<script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>
<form action="#" method="GET">
<select id="myselectBox" name="select" required=true>
<option value="">None</option>
<option value="1">An option 1</option>
<option value="2">An option 2</option>
<option value="3">An option 3</option>
</select>
<br>
<input type="submit" value="submit">
</form>

<br><br>
<button type="button" onclick="autoSelect()">Select with JS</button>

来源:https://select2.org/programmatic-control/add-select-clear-items

相关内容

最新更新