2013-02-16 69 views
12

我選擇一種形式的這樣所有輸入元素:jQuery:檢查禁用的屬性並添加/刪除它?

var fields = $(form + " :input").not("button"); 

如何檢查是否有這些投入有disabled屬性設置和存在時將其刪除?

此外,我需要添加它後已被刪除(和序列化之間的字段),有沒有一個優雅的方式呢?類似toggle但屬性?

回答

39

假設您使用jQuery 1.6或更高版本,建議的方法是使用.prop()

fields.prop("disabled", false);

如果你需要有每一個身邊的邏輯,你可以做一些事情來的

var fields = $(form + " :input").not("button"); 
fields.each(function(index, element) { 
    var isDisabled = $(element).is(':disabled'); 
    if (isDisabled) { 
     $(element).prop('disabled', false); 
    } else { 
     // Handle input is not disabled 
    } 
}); 

jsfiddle

0

要刪除

$('input:disabled').removeProp('disabled'); 

$('input:disabled').prop('disabled', 'disabled'); 

若要添加

$('input:disabled').prop('disabled', 'disabled');