我在点击'#leg-chkAll'时尝试切换所有已启用的复选框,但是 我错过了什么!
如果可能,请提供一些解释javascript代码的评论。
public int generateRandomNumberWithExcepts(int start, int end, List<Integer> excepts) {
int size = excepts.size();
int range = end - start + 1 - size;
int randNum = random.nextInt(range) + start;
excepts.sort(null); // sort excluding values in ascending order
int i=0;
for(int except : excepts) {
if(randNum < except-i){
return randNum + i;
}
i++;
}
return randNum + i;
}
&#13;
$(document).ready(function(){
$('#leg-chkAll).on('click', function () {
$('div#legend').find('div :checkbox:enabled')
.prop('checked', this.checked)
.find('tbody :checkbox').toggleClass('selected', this.checked);
});
});
&#13;
此致 埃利奥·费尔南德斯
答案 0 :(得分:1)
两个问题:
您似乎只是错过了这里的结束单引号:$('#leg-chkAll)
。
#leg-chkAll
是第一个div的id
,但您想要听第一个复选框上的点击,而不是包含div。
如果您将id
放在复选框元素上,它就会起作用。将第一个HTML块更改为:
<div>
<input type="checkbox" id="leg-chkAll" checked>
<span class="leg-des">All</span>
</div>
然后像这样修改你的jQuery:
$(document).ready(function(){
$('#leg-chkAll').on('click', function () {
$('#legend').find(':checkbox:enabled').prop('checked', this.checked)
});
});
这是一个有效的jsFiddle:https://jsfiddle.net/t9w944z9/