我正在使用here的jquery插件Datatables。datatables的「select_none」按鈕不能按預期在多選模式下工作
問題是它不像它應該那樣行爲。我在TableTools中有兩個按鈕,Select all和Select none,兩者都有默認代碼,我沒有改變它們。
我也讓行可以多選。這裏是數據表聲明的代碼和幾乎所有重要的東西。
var oTable;
var gaiSelected = [];
oTable = $('#listeLigne').dataTable({
"sDom": 'T',
"bJQueryUI": true,
"sPaginationType": "full_numbers",
"oLanguage": oLanguage,
"bLengthChange": false,
"iDisplayLength": -1,
"oTableTools": {
"sSwfPath" : "<?= _s("js/DataTables-1.9.4/extras/TableTools/media/swf/copy_csv_xls_pdf.swf") ?>",
"aButtons": [
{
"sExtends": "collection",
"sButtonText": "Sélection",
"aButtons": [
{
"sExtends": "select_all",
"sButtonText": "Toutes"
},
{
"sExtends": "text",
"sButtonText": "Actives"
},
{
"sExtends": "text",
"sButtonText": "Inactives"
},
{
"sExtends": "text",
"sButtonText": "Suspendues"
},
{
"sExtends": "select_none",
"sButtonText": "Aucune"
}
]
},
{
"sExtends": "collection",
"sButtonText": "Sauvegarder",
"aButtons": [ "csv", "xls", "pdf" ]
},
{
"sExtends": "print",
"sButtonText": "Imprimer"
}
]
},
"fnRowCallback": function(nRow, aData, iDisplayIndex) {
if (jQuery.inArray(aData[0], gaiSelected) != -1)
{
$(nRow).addClass('row_selected');
}
return nRow;
}
});
$('#listeLigne tbody tr').live('click', function() {
var aData = oTable.fnGetData(this);
var iId = aData[0];
if (jQuery.inArray(iId, gaiSelected) == -1)
{
gaiSelected[gaiSelected.length++] = iId;
}
else
{
gaiSelected = jQuery.grep(gaiSelected, function(value) {
return value != iId;
});
}
$(this).toggleClass('DTTT_selected');
});
會發生什麼情況是,如果我點擊全選,它選擇他們所有,然後如果我點擊選擇無,它取消選擇一切。但是,如果我點擊其中的一部分並將它們選中,然後按下選擇無,則不會發生任何事情。然後如果我按下選擇所有,然後選擇它沒有工作。
我一直在尋找數據表的內部代碼,嘗試了很多不同的解決方案(即使我沒有看到許多人遇到同樣的問題)。
請求任何您可能需要的其他信息。 每一點信息和/或幫助表示讚賞。謝謝。