Как сделать dropdownlist отключенным в событии изменения с помощью JQUERY?

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

То, что я пытаюсь сделать, это отключить событие изменения dropdownlist и изменить его, чтобы этот dropdownlist отключен. Код запускается и все, но он не отключает dropdownlist.

Эта часть кода не работает:

if ($(this).disabled == false) { $(this).disabled = true; } });

Ответ 1

Вы должны использовать .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); 
    } 
  });
});

< 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"); 
    } 
  });
});

Ответ 2

if (!$(this).attr("disabled")) { $(this).attr("disabled","disabled"); }

Если вы хотите включить его позже, вам нужно:

$(this).removeAttr("disabled");

Ответ 3

Я знаю, что это сообщение устарело. Это может помочь, если кто-то застрял с отключением выпадающего списка в функции dropdown chnage

  if ($(this).attr('disabled', false)) 
         { $(this).attr('disabled', true);
    }