【发布时间】:2013-04-03 14:38:06
【问题描述】:
我想这很简单,但不幸的是我根本不懂 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。
提前谢谢各位!
由于我的页面已经在其
部分中包含了 jQuery,我决定使用需要这个库的变体。 因此,我尝试了 Wing Leong 提供的代码,并取得了成功。但是,它有以下两个缺点:- 我忘了提到禁用的复选框应该明确设置为未选中。在当前实现中,当我选择第二组中的一个复选框(例如,
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:有一个禁用属性
<input type="checkbox" disabled="disabled" /> -
是的......但它曾经有一些问题前一段时间。无论如何...当我 afk 时,你得到了 999 个答案。
标签: javascript html forms checkbox