jQuery Datatable multiselect在第2页中没有使用分页

时间:2012-09-14 04:15:53

标签: jquery datatable

我正在为我的应用程序使用数据表,multiselect正在第一页中工作但似乎不适用于第2页和第3页的分页。

代码是,

    $(document).ready(function() {   
        $('#example tr').click( function() {
            $(this).toggleClass('row_selected');
        } );    
    } );

和css是

table.display tr.even.row_selected td {
background-color: #efefef;
}

table.display tr.odd.row_selected td {
background-color: #efefef;
}

我应该包括哪些其他页面的多选工作? 或者代码有什么问题吗?

请帮忙

谢谢,

2 个答案:

答案 0 :(得分:1)

2件事......

1.确保在第2页和第3页中包含js代码

2.可能是tr动态生成的......您需要delegate

 $(document).ready(function() {   
        $('#example').delegate('tr','click', function() { //example -> tableid
            $(this).toggleClass('row_selected');
        } );    
    } );

答案 1 :(得分:1)

您正在动态修改dom,因此如果使用jQuery 1.7 +

,您需要使用.delegate或.on进行委派
$(document).ready(function() {   
    $('#example').on('click','tr', function() { 
        $(this).toggleClass('row_selected');
    } );    
});

或者如果使用jQuery 1.6及更低版本

$(document).ready(function() {   
    $('#example').delegate('tr', 'click', function() { 
        $(this).toggleClass('row_selected');
    } );    
});

通过委托将事件处理程序绑定到父元素..它然后侦听事件冒泡的时间......例如,当您单击一个tr ...它会使document中的$('tr').click()function(){}); 冒泡例子然后文档处理事件..

如果您尝试以常规方式绑定它

$('tr').bind('click',function(){});

$('tr').on('click',function(){});

{{1}}

他们希望在dom准备就绪时可以使用tr元素 - (如果你把你的代码放在document.ready函数中) - 否则没有事件会绑定到元素