【问题标题】:jQuery: Checking for disabled attribute and adding/removing it?jQuery:检查禁用属性并添加/删除它?
【发布时间】:2013-02-01 13:23:37
【问题描述】:
我选择这样一个表单的所有输入元素:
var fields = $( form + " :input" ).not( "button" );
如何检查这些输入中的任何一个是否设置了disabled 属性并在存在时将其删除?
另外,我需要在删除 is 之后添加它(并序列化其间的字段),有没有一种优雅的方法? toggle 之类的东西,但对于属性?
【问题讨论】:
标签:
jquery
forms
serialization
attributes
【解决方案1】:
假设您使用的是 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
【解决方案4】:
删除
$('input:disabled').removeProp('disabled');
或
$('input:disabled').prop('disabled', 'disabled');
添加
$('input:disabled').prop('disabled', 'disabled');