頭がおかしくなる - 私の同僚がこのスクリプトを送ってくれた - 私は単純なことを見落としているに違いない
http://jsfiddle.net/mplungjan/j4m62/
なんらかの理由でわかりませんが、クリックしたものに関係なく、3つのチェックボックスすべてをチェックします-最初の2つのいずれかをクリックすると最初の2つだけがチェックされ、3つ目は単独でチェックされると予想されます
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);
});
});
});