使用javascript启用/禁用用户控件

时间:2014-06-12 07:30:36

标签: c# javascript asp.net user-controls

我有一个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,用户控件被禁用但应启用

2 个答案:

答案 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()”