【发布时间】:2014-07-22 21:15:05
【问题描述】:
我有两个 div。 Div A 和 Div B。当您单击一个时,Div A 包含锚点,它会显示我从 Div B 中的数组中获得的复选框列表。我有一个限制,用户只能从他可以选择的所有列表中选择三个复选框通过点击锚点获得。
如果超过 2 个未选中的复选框被禁用,我有一个限制。
if (countShownCats > -1 && countShownCats < 3) {
// Enable checkboxes
$('.rbSubcategoryList input:checkbox:not(:checked)').attr('disabled', false);
} else {
// Disable non checked checkboxes
$('.rbSubcategoryList input:checkbox:not(:checked)').attr('disabled', true);
}
当我单击一个锚点并附加一个复选框列表时,不会选中复选框。代码如下:
$('.rbSubcategoryList input[value="' + rbCheckboxValue + '"]').attr('checked', true);
但只有第一个被点击的复选框被选中。我知道我必须以某种方式使用 $.each,但不知道如何使用。
所以我的问题是如何让它工作,以便当我点击锚点时所有三个选中的复选框都保持选中状态?
谢谢!
【问题讨论】:
-
请分享 jsfiddle 链接
-
由于某种原因,这个函数
$('.rbSubcategoryList input:checkbox').live('change', function () {在 jsfiddle 中不起作用。这是将块添加到 Div C 的部分。这是链接:link -
使用
.on()而不是.live(),因为.live()不适用于1.6以上的jquery -
.live()在网站上为我工作,.on()在网站上不工作,在 jsfiddle 上也不工作:/ -
你使用的jquery版本是什么?