我正在尝试禁用页面上的每种类型的输入并取消选中或清空值,所以我写了下面的代码: -
function disableAll() {
if ($('#chkLoginEnabled').is(':checked')) {
$("input").attr("disabled", false);
}
else {
$("input").attr("disabled", true);
$("input checkbox").attr('checked') = 'checked';
$("input textbox").val() = "";
}
$("#chkLoginEnabled").attr("disabled", false);
}
它可以禁用所有输入(并正确地重新启用我需要的输入),
但是,它不会重置任何输入。
答案 0 :(得分:2)
尝试使用prop()
代替attr()
$("input").prop("disabled", false);
答案 1 :(得分:2)
尝试
function disableAll() {
var inputs = $('input');
if ($('#chkLoginEnabled').is(':checked')) {
inputs.prop('disabled', false);
} else {
inputs.prop('disabled', true);
inputs.filter('[type="checkbox"]').prop('checked', false)
inputs.filter(':text').val('')
}
$('#chkLoginEnabled').attr('disabled', false);
}
答案 2 :(得分:1)
$("input:not([type='hidden'], :checkbox, :radio)").val("");
$(":checkbox, :radio").prop( "checked", false );
$(":input").prop( "disabled", true );
这将清除不是复选框,无线电或隐藏的每个输入的值(这将导致您以后可能出现问题)。未经检查的那些没有“价值”,所以我们在第二行取消选中它们。
最后,在第3行,我们禁用所有这些。
答案 3 :(得分:-1)
你需要这样做:
$("input textbox").val('');
清除特定输入。
答案 4 :(得分:-1)
只是猜测,但也许.val()希望你在括号内传递参数,所以
$(“输入文本框”)。val()=“”;
会改为
$(“输入文本框”)。val(“”);