jQuery:如何检查和添加/移除disabled属性?

23

我可以这样选择表单中的所有输入元素:

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

如何检查这些输入框中是否有设置了 disabled 属性,如果有则将其移除?

另外,我需要在移除后添加它(并将它们之间的字段序列化),是否有一种优雅的方式来实现这一点?类似于对属性进行 toggle 操作?

4个回答

53

假设你正在使用 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


2

1

要移除

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

或者

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

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

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接