jQuery:检查已禁用的属性并添加/删除它?

时间:2013-02-16 18:50:36

标签: jquery forms serialization attributes

我选择了这样一个表单的所有输入元素:

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

如何检查这些输入是否设置了disabled属性并在存在时将其删除?

另外,我需要在删除之后添加它(并在其间序列化字段),有一种优雅的方式吗?像toggle但是属性?

4 个答案:

答案 0 :(得分:46)

假设您使用的是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

答案 1 :(得分:2)

您可以使用disabled选择器

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

请参阅here

http://jsfiddle.net/JngR9/

答案 2 :(得分:1)

使用:disabled Selector` 试试这个

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

答案 3 :(得分:1)

删除

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

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

添加

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