我已经尝试了所有我知道的尝试来使这项工作成功,但我仍然无法做到。
我只需要一个“全选”复选框,对每个元素进行循环以设置它们的类并将它们的 id 保存在 session 变量中。到目前为止,我已经了解了这段代码的每一部分,除了在视觉上看到复选框被选中。
这是我的代码:
$('#all').on('change', function () {
if($(this).is(':checked')){
table.$("input[type='checkbox']").each( function() {
console.log($(this).attr("id"));
$(this).prop( "checked" ,true);
console.log($(this).prop("checked"));
var id=$(this).attr("id").split('_')[1];
var id_row=table.row("#row_"+id).index()+1;
$("#tabla_equipos tr:nth-child(" + id_row + ")").addClass('active');
$("table.DTFC_Cloned>tbody tr:nth-child(" + id_row + ")").addClass('active');
funcChechboxes('{{ path('user_session_set')}}',id,'single');
});
}else{
//more code
}
});
我确实在控制台上获得了复选框 ID,以及它们的“选中”属性的“真实”值……甚至应用了该类,但没有应用框中的漂亮勾号。
控制台:
e_1
true
e_2
true
e_3
true
e_5
true
如有任何帮助,我们将不胜感激!
问候。
最佳答案
看http://jsfiddle.net/xnxgm1m6/2/
$(document).ready(function(e){
$("#selectall").click(function(){
var b = false;
if($(this).is(":checked"))
b = true;
$("#table").find("tr").each(function(){
$(this).find('input[type="checkbox"]').each(function() {
$(this).prop("checked", b);
var id=$(this).attr("id").split('_')[1];
if(b)
$("#table tr:nth-child(" + id + ")").addClass('active');
else $("#table tr:nth-child(" + id + ")").removeClass('active');
//DON'T KNOW WHAT THIS IS FOR
// $("table.DTFC_Cloned>tbody tr:nth-child(" + id_row + ")").addClass('active');
//funcChechboxes('{{ path('user_session_set')}}',id,'single');
});
});
});
我想这就是你想要的。希望对您有所帮助。
关于javascript - JQuery 复选框不会更改 .prop ("checked"处的视觉状态,是的),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27098265/