我想这很简单,但不幸的是我根本不知道JavaScript,并且无法找到一个已经存在的解决方案。如何禁用一组复选框,如果没有选择其他组的复选框
<input type='checkbox' class='group1' name='1'> Name1<br>
<input type='checkbox' class='group1' name='2'> Name2<br>
<input type='checkbox' class='group1' name='3'> Name3<br><br>
<input type='checkbox' class='group2' name='4'> Name4<br>
<input type='checkbox' class='group2' name='5'> Name5<br>
所以,如果没有Name1
,Name2
,也不Name3
选择,Name4
和Name5
应禁用。
在此先感谢,伙计们!
由于我的页面已在其< head>部分中包含jQuery,因此我决定使用需要此库的变体。 所以,我尝试了代码永隆提供,这是一个成功。然而,它有以下两个缺点:
- 我忘了提及禁用的复选框应该显式设置为未选中状态。在当前的实现中,当我选择第二组中的一个复选框(例如,
Name4
),然后取消选中第一个复选框时,Name4
被禁用,但仍被检查。这是完全错误的,因为处理表单的服务器将接受Name4
作为选定的选项。如果不是这样,用户可能会感到困惑。 在这个页面上,我有另一个jQuery脚本,当用户选择一个名为“全选”的复选框时,它会自动选择第一组的所有复选框。那就是:
<input type='checkbox' id='maincb'> Check all
和JavaScript这样的:
<script type="text/javascript">
$(document).ready(function() {
$("#maincb").click(function() {
if($('#maincb').attr('checked')) {
$('.group1:enabled').attr('checked', true);
} else {
$('.group1:enabled').attr('checked', false);
}
});
});
</script>
的问题是,这两个脚本不相互做的很好。即使在我将类group1
分配到“全部检查”复选框后,它也不会影响第二组的复选框。
你必须定义残疾...隐形?无法点击?不可发送?所有? – zozo 2013-04-11 12:01:25
@zozo:有一个禁用的属性'' – 2013-04-11 12:28:22
是啊......但它过去有一些问题。无论如何...当我在AFK时你有999个答案。 – zozo 2013-04-11 14:28:14