舊線程,但我有一些貢獻。
自動生成一個複選框列,而不是做這行內,添加到您的列定義:
"aoColumnDefs": [ { "mRender": function (data, type, full) {
return '<input type="checkbox" id="id" class="class" value="' + data + '">'; }, "aTargets": [0] } ]
// Note: aTargets is the zero-indexed array determining placement of the checkbox column
// "aTargets": [0] gives you the first column (first from left)
由於RUN-CMD建議您可以使用TableTools處理行選擇,但是這沒」因爲選擇/突出顯示所有行與檢查行的輸入是分開的。不過,它是一個很好的視覺增強器。
我們可以通過TableTools.js將此代碼添加到_fnRowSelect()函數編程方式檢查該行的複選框(功能線1079至1119年在我的文件):
// This marks them as selected
for (i=0, len=data.length ; i<len ; i++)
{
data[i]._DTTT_selected = true;
if (data[i].nTr)
{
$(data[i].nTr).addClass(that.classes.select.row);
// Now if there's a checkbox somewhere in the row - we check it
$(data[i].nTr).closest("tr").find('input[type="checkbox"]').prop('checked', 'checked');
}
}
雖然我們正在編輯這個文件,我們來創建一個新的TableTools按鈕來切換全選/無選擇。現在我們不必將兩個函數都綁定到一個按鈕上。
我們創建這個按鈕選擇權畢竟在TableTools.js選擇無按鈕(在我的檔案在2393線開始):
/* Combines select_all and select_none buttons
* Default button text is a checkbox
* to strip button style and use a checkbox alone put this on native page:
* $(".select-all-master").removeClass("btn");
*/
"select_master": $.extend({}, TableTools.buttonBase, {
"sButtonText": '<input type="checkbox" id="master_check" class="row_checks master_check" value="">',
"sButtonClass": "select-all-master",
"sAction": "div",
"sTag": "div",
"fnClick": function(nButton, oConfig) {
var that = this;
var selected = false;
$("table tr").each(function(i) {
if ($(this).hasClass("active")) {
selected = true;
}
});
if (selected==false) {
that.fnSelectAll();
$("#master_check").prop('checked', 'checked');
}
if (selected==true) {
that.fnSelectNone();
$("#master_check").prop('checked', '');
selected = false;
}
}
}),
現在我們可以通過應用我們選/切換無像調用TableTools按鈕一樣調用它。在我們的餐桌工具初始化:
"aButtons": [ { "sExtends": "select_master","sToolTip": "Tool tip to display on checkbox hover" } ]
在本地數據表
而且初始化,您可以使用:
的Javascript:
$(document).ready(function() {
$(".select-all-master").appendTo("thead#selectallbtn");
$(".select-all-master").removeClass("btn");
});
HTML:
<thead class="selectallbtn"></thead>
如果要刪除按鈕樣式並將其作爲普通複選框all/none控制器放入您的表格標題中。 如果你沒有使用bootstrap,請考慮在你的CSS中做這樣的事情(link),代碼應該可以正常工作。
提供一切順利的話,結果應該是這樣的:從任何地方檢查房地產行內,而不僅僅是點擊複選框:http://screencast.com/t/c3ZDi0mmiGj
最大的便利瞄準的複選框。有助於高分辨率用戶或移動觸摸/觸摸啓動。
當然這是可能的,並且有幾種實現方法。請參閱此處的示例:http://screencast.com/t/c3ZDi0mmiGj 此外,您不必更新服務器上的任何內容,直到您將操作分配給選中的框(即刪除行,更改行值等)當然,一些操作如打印等客戶端操作將可用,而無需執行任何服務器請求。 – DrewT