难以置信 - 我的同事给我发了这个脚本 - 我确信我忽略了一些简单的事情
http://jsfiddle.net/mplungjan/j4m62/
出于某种原因,我无法弄清楚,无论我点击哪个复选框,都会检查所有三个复选框 - 我希望在点击前两个中的任何一个时只检查前两个,然后自行检查第三个
HTML:
<input class="check-all" name="checkbox[]" id="checkbox1" type="checkbox" value="on"/><label for="checkbox1">Check 1&2</label><br/>
<input class="check-allfeatured" name="checkbox[]" id="checkbox2" type="checkbox" value="on"/><label for="checkbox2">Check 1&2</label><br/>
<input class="check-alldel" name="deleteids[]" id="deleteids1" type="checkbox" value="on"/><label for="deleteids1">Check this only</label>
JavaScript:
$(document).ready(function(){
$('.check-all:checkbox').click(function(event) {
var group = 'input:checkbox[name=' + $(this).attr('name') + ']';
console.log(group+':'+event.target.checked);
$(group).each(function(){
$(this).attr("checked",event.target.checked);
});
});
$('.check-alldel:checkbox').click(function(event) {
var group = 'input:checkbox[name=' + $(this).attr('name') + ']';
console.log(group+':'+event.target.checked);
$(group).each(function(){
$(this).attr("checked",event.target.checked);
});
});
$('.check-allfeatured:checkbox').click(function(event) {
var group = 'input:checkbox[name=' + $(this).attr('name') + ']';
console.log(group+':'+event.target.checked);
$(group).each(function(){
$(this).attr("checked",event.target.checked);
});
});
});