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

Điều tôi đang cố gắng thực hiện là kích hoạt sự kiện thay đổi của dropdownlist và khi thay đổi, làm cho số dropdownlist này bị tắt. Mã đang kích hoạt và mọi thứ, nhưng nó không vô hiệu hóa dropdownlist.Cách tắt danh sách thả xuống trên sự kiện thay đổi bằng cách sử dụng JQUERY?

phần này của mã không hoạt động:

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

Cảm ơn mọi người, tôi đã hiểu theo cách này: $ (tài liệu) .ready (function() {$ ('# <% = ddlContinents.ClientID%>'). Change (function() {var element = $ (this); chiều dài var totalLength = element.children(). if ($ (this) .attr ("disabled") == false) {$ (this) .attr ("disabled", true); }}); }); – Shiva

+0

Cách "thích hợp" là xóa thuộc tính bị vô hiệu hóa và đặt thành vô hiệu hóa thành 'bị tắt'. –

+0

http://docs.jquery.com/Frequently_Asked_Questions#How_do_I_disable.2Fenable_an_element.3F –

Trả lời

17

Bạn nên sử dụng .prop() cho jQuery 1.6 + hoặc .attr() cho các phiên bản trước đó của 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"); 
    } 
    }); 
}); 
+0

Cảm ơn bạn mặc dù, nhưng không hoạt động. – Shiva

+0

oops, hãy thử $ (this) .attr ("disabled") == false –

+0

Cảm ơn bạn, đó là cách. – Shiva

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

Nếu bạn muốn kích hoạt nó sau này, bạn gotta làm:

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

Tôi biết bài này là old..This có thể giúp đỡ nếu có ai bị mắc kẹt với việc vô hiệu hóa chức năng thả xuống trên chnage thả xuống

if ($(this).attr('disabled', false)) 
     { $(this).attr('disabled', true); 
    } 
Các vấn đề liên quan