我有一张购票表格。您必须在那里填写所有个人信息。 也可以购买一张空票,上面没有任何名字。只需单击复选框即可禁用所有输入字段。 var inputDisabled = 0;
$("#three").change(function(){
if(inputsDisabled == 0){
$("input[name=fname]").attr("disabled", true);
$("input[name=lname]").attr("disabled", true);
$("input[name=email]").attr("disabled", true);
$("input[name=sponsor]").attr("disabled", true);
$("input[name=phone]").attr("disabled", true);
inputsDisabled = 1;
}
else{
$("input[name=fname]").attr("disabled", false);
$("input[name=lname]").attr("disabled", false);
$("input[name=email]").attr("disabled", false);
$("input[name=sponsor]").attr("disabled", false);
$("input[name=phone]").attr("disabled", false);
inputsDisabled = 0;
}
});
当有人购买空票并按下“后退”浏览器按钮时,他会返回到此表单。提到的复选框仍会自动选中,但字段不再禁用。我尝试使用下面的代码,但没有帮助。
if ("#three".checked) {
$("input[name=fname]").attr("disabled", true);
$("input[name=lname]").attr("disabled", true);
$("input[name=email]").attr("disabled", true);
$("input[name=sponsor]").attr("disabled", true);
$("input[name=phone]").attr("disabled", true);
}
有没有更好的方法来做到这一点?
最佳答案
您应该使用 .is(":checked")
或 .prop("checked")
并且因为 checked
是一个属性使用 prop()
代替 attr()
$("input[name=fname], input[name=lname], input[name=email], input[name=sponsor], input[name=phone]")
.prop("disabled", $("#three").is(":checked"));
关于javascript - 如果选中复选框则禁用输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39640058/