每当单选按钮被设置为"No“选项时,我试图禁用web表单特定部分中的每个输入域(并在选择"Yes”时将其恢复,但无法正常工作。我目前有这个代码,用于“观察”单选按钮,并根据需要启用/禁用:
jQuery("#ReportOn").change(function () {
if(jQuery("#ReportOff").is(":checked")) {
// Everything working up until here , but below command does nothing.
jQuery("#reportform > input").attr("disabled", true);
} else if(jQuery("#ReportOn").is(":checked")) {
jQuery("#reportform > input").removeAttr("disabled");
}
});表单如下所示:
<form method="post" action="post.php">
<input type="radio" name="report" id="ReportOn" value="1" /><label for="ReportOn">Yes</label>
<input type="radio" name="report" id="ReportOff" value="0" /><label for="ReportOff">No</label>
<div id="reportform">
<input type="text" name="title" id="ReportTitle" />
<input type="text" name="subtitle" id="ReportSubtitle" />
</div>
</form>只要Reporting单选按钮设置为No,则应禁用表单的其余部分。
我在这里遗漏了什么,使它无法工作?
发布于 2012-01-04 22:36:50
尝试更改:
jQuery("#reportform > input")至:
jQuery("#reportform input")发布于 2012-01-04 22:47:45
对于同样的任务,这里有另一个解决方案;
$('input[name="report"]').change(function(){
var disabled = ($(this).val() !== "1");
$('#reportform input').attr("disabled", disabled);
});发布于 2012-01-04 22:38:56
也许你遇到了一些错误,比如两个具有相同id的表单?因为它对我很有效,看看这个:http://jsfiddle.net/JqqGb/
https://stackoverflow.com/questions/8728474
复制相似问题