2013-06-12 19 views
1

選中所有複選框,首次檢查並取消選中,但不在第二次。代碼如下所示選中所有複選框在Javascript中第二次不起作用

HTML

<th align="left" width="25" style="color:#FFF; background-color:#3A4048"> 
    <%= check_box_tag "select_all" %> 
</th> 

JQUERY

$("#select_all").click(function() { 
    $('td input[type=checkbox]').attr('checked', this.checked); 
}); 

任何機構可以幫我解決這個問題

回答

0

試試這個:

$(function() { 
    $("#select_all").click(function() { 
     $('input[type=checkbox]').prop('checked', $(this).prop('checked')); 
    }); 
}); 
+0

謝謝@ Neeraj.This也工作。 – Jeff

+0

@Jeff:熱烈歡迎! :) –

2

.prop()最好.attr()的檢查屬性。此外.change()事件將更適合於複選框。

$("#select_all").change(function() { 
    $('td input[type=checkbox]').prop('checked', $(this).prop('checked')); 
}); 
+0

感謝@Mrcode,它的工作 – Jeff

+0

@Jeff如果解決了這個問題,考慮接受的答案(你只能接受一個答案,所以一定要選擇最有用的答案)。 – MrCode

0

使用$(this).prop('checked')最新jQuery Code

$("#select_all").click(function() { 
    $('td input[type=checkbox]').prop('checked', $(this).prop('checked')); 
}); 
0
$("#select_all").bind('click',function() { 
    $('td input[type=checkbox]').attr('checked', this.checked); 
}); 
相關問題