2013-02-16 72 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');