使用 jQuery 禁用多个 select2 字段
Disable multiple select2 field with jQuery
我创建了一个复选框字段和多个 select2 字段,我启用了复选框字段,但哪个更改不影响多个 select 字段。禁用复选框后,我需要禁用多个 select 字段。这可能吗?我试过下面的代码。
$('select option').prop("disabled", true);
您当前引用的是 select 的特定选项,我认为您需要定位父 select 元素。
并且根据documentation,参见选择2禁用模式,您需要这样做:
$("select").select2("enable", false);
Nvm,我看到我提到了旧文档,父元素是正确的。
使用 $(".sel2").prop("disabled", true) 禁用 select2
有关详细信息,请参阅文档 https://select2.org/appearance
$(document).ready(function() {
$('.sel2').select2();
});
$(document).on('click','#disable',function() {
if ($(this).prop("checked")) {
//console.log("in");
$(".sel2").prop("disabled", true);
}
})
<link href="https://cdn.jsdelivr.net/npm/select2@4.0.12/dist/css/select2.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/select2@4.0.12/dist/js/select2.min.js"></script>
<select class="sel2" name="state">
<option value="AL">one</option>
<option value="AL">two</option>
</select>
<select class="sel2" name="state">
<option value="AL">one</option>
<option value="AL">two</option>
</select>
<select class="sel2" name="state">
<option value="AL">one</option>
<option value="AL">two</option>
</select>
<input type="checkbox" id="disable" value="Disable select" /> Disable
如果你想在选中和未选中复选框时启用和禁用 select2 字段
$(document).on('click','#disable',function() {
if ($(this).prop("checked")) {
$(".sel2").prop("disabled", true);
}else{
$(".sel2").prop("disabled", false);
}
})
$("#disable").change(function() {
if ($(this).is(":checked")) {
$("select").attr('disabled', 'disabled');
}
})
您可以使用 is checked 来检查复选框是否被选中
我创建了一个复选框字段和多个 select2 字段,我启用了复选框字段,但哪个更改不影响多个 select 字段。禁用复选框后,我需要禁用多个 select 字段。这可能吗?我试过下面的代码。
$('select option').prop("disabled", true);
您当前引用的是 select 的特定选项,我认为您需要定位父 select 元素。
并且根据documentation,参见选择2禁用模式,您需要这样做:
$("select").select2("enable", false);
Nvm,我看到我提到了旧文档,父元素是正确的。
使用 $(".sel2").prop("disabled", true) 禁用 select2 有关详细信息,请参阅文档 https://select2.org/appearance
$(document).ready(function() {
$('.sel2').select2();
});
$(document).on('click','#disable',function() {
if ($(this).prop("checked")) {
//console.log("in");
$(".sel2").prop("disabled", true);
}
})
<link href="https://cdn.jsdelivr.net/npm/select2@4.0.12/dist/css/select2.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/select2@4.0.12/dist/js/select2.min.js"></script>
<select class="sel2" name="state">
<option value="AL">one</option>
<option value="AL">two</option>
</select>
<select class="sel2" name="state">
<option value="AL">one</option>
<option value="AL">two</option>
</select>
<select class="sel2" name="state">
<option value="AL">one</option>
<option value="AL">two</option>
</select>
<input type="checkbox" id="disable" value="Disable select" /> Disable
$(document).on('click','#disable',function() {
if ($(this).prop("checked")) {
$(".sel2").prop("disabled", true);
}else{
$(".sel2").prop("disabled", false);
}
})
$("#disable").change(function() {
if ($(this).is(":checked")) {
$("select").attr('disabled', 'disabled');
}
})
您可以使用 is checked 来检查复选框是否被选中