如何使用JQUERY在更改事件上禁用下拉列表?

Shi*_*iva 10 asp.net jquery drop-down-menu

$(document).ready(function() {
      $('#<%=ddlContinents.ClientID %>').change(function() { 
      var element = $(this);
      var totalLength = element.children().length; 
      if ($(this).disabled == false) { $(this).disabled = true; }
      });
});
Run Code Online (Sandbox Code Playgroud)

我要做的是触发更改事件dropdownlist和更改使此dropdownlist禁用.代码是触发和一切,但它不会禁用dropdownlist.

这部分代码不起作用:

if ($(this).disabled == false) { $(this).disabled = true; } });
Run Code Online (Sandbox Code Playgroud)

Eri*_*k L 17

您应该使用.prop()jQuery 1.6+或.attr()早期版本的jQuery:

> jQuery 1.6:

$(document).ready(function() {
  $('#<%=ddlContinents.ClientID %>').change(function() { 
    var element = $(this);
    var totalLength = element.children().length;

    if (!$(this).prop("disabled")) { 
      $(this).prop("disabled", true); 
    } 
  });
});
Run Code Online (Sandbox Code Playgroud)

<jQuery 1.6:

$(document).ready(function() {
  $('#<%=ddlContinents.ClientID %>').change(function() { 
    var element = $(this);
    var totalLength = element.children().length;

    if (!$(this).attr("disabled")) { 
      $(this).attr("disabled", "disabled"); 
    } 
  });
});
Run Code Online (Sandbox Code Playgroud)


Pao*_*ino 11

if (!$(this).attr("disabled")) { $(this).attr("disabled","disabled"); }
Run Code Online (Sandbox Code Playgroud)

如果您想稍后启用它,您必须执行以下操作:

$(this).removeAttr("disabled");
Run Code Online (Sandbox Code Playgroud)