我希望在提交表单之前启用所有已禁用的输入并选择元素,这样我就可以获取所有已禁用的元素值。
所以我试过
function enable() {
$('input[type="text"], input[type="checkbox"], select').prop("disabled", true).each(function () {
if ($(this).is(':disabled')) {
$(this).attr('disabled', false);
}
});
}
此代码无效,请您帮我完成这项工作。
提前致谢....
答案 0 :(得分:8)
你可以尝试
function enable() {
$('input:disabled, select:disabled').each(function () {
$(this).removeAttr('disabled');
});
}
答案 1 :(得分:3)
试试这个,
function enable() {
$('input[type="text"], input[type="checkbox"], select').each(function () {
if ($(this).prop('disabled')) {
$(this).prop('disabled',false);
}
});
}
或者,您可以在不使用each()
的情况下启用所有已禁用的元素,
$('input[type="text"]:disabled, input[type="checkbox"]:disabled, select:disabled')
.prop('disabled',false);
或者使用removeAttr()之类的,
$('input[type="text"]:disabled, input[type="checkbox"]:disabled, select:disabled')
.removeAttr('disabled');
答案 2 :(得分:2)
$(this).removeAttr('disabled');
答案 3 :(得分:0)
使用prop not attr,.prop()方法提供了一种显式检索属性值的方法,而.attr()则检索属性。
$(this).prop('disabled',false);