我有一个usercontrol,应根据下拉列表选择禁用/启用。请在下面的代码段中找到。
if (name== 'A') {
$("#uc_panel").prop("disabled", "disabled");
$("#uc_btnAddCategory").prop("disabled", "disabled");
$("#uc_ddlCategorySelection").prop("disabled", "disabled");}
else
{
$("#uc_panel").prop("disabled", "");
$("#uc_btnAddCategory").prop("disabled", "");
$("#uc_ddlCategorySelection").prop("disabled", "");
}
我第一次选择' A'从下拉列表中,禁用了usercontrol。我第二次选择' B'并单击BtnAdd,用户控件被禁用但应启用
答案 0 :(得分:1)
如果您使用的是prop
函数,请在道具为'disabled'
,'checked'
等时使用布尔值作为值。您可以查看documentation。您使用prop
的方式与使用attr
函数的旧版jquery中使用的方式相同
if (name == 'A') {
$("#uc_panel").prop("disabled", true);
$("#uc_btnAddCategory").prop("disabled", true);
$("#uc_ddlCategorySelection").prop("disabled", true);
} else {
$("#uc_panel").prop("disabled", false);
$("#uc_btnAddCategory").prop("disabled", false);
$("#uc_ddlCategorySelection").prop("disabled", false);
}
所以你可以这样缩短它:
var isA = name == 'A';
$("#uc_panel").prop("disabled", isA);
$("#uc_btnAddCategory").prop("disabled", isA);
$("#uc_ddlCategorySelection").prop("disabled", isA);
或:
$("#uc_panel, #uc_btnAddCategory, #uc_ddlCategorySelection").prop("disabled", name == 'A')
答案 1 :(得分:0)
这帮助你。
HTML
<select id="mySelect" onchange="checkField(this.value)">
<option>Apple</option>
<option>Banana</option>
<option>Orange</option>
</select>
<input type="text" id="txt" value="Hello">
的Javascript
<script>
function checkField(val)
{
var button = document.getElementById("txt");
button.disabled = true;
}
</script>
在下拉更改时,它将禁用文本框
此外,为了响应所选索引的更改,请将此onchange事件添加到下拉列表中:onchange =“disableButton()”