2013-04-17 4 views
1

Я использую jQuery Datatable, и я хотел бы иметь столбец флажков, и заголовок должен содержать флажок «Выбрать все». Я не нашел никаких подробностей об этом на официальном сайте данных.jQuery datatable и Header Checkbox

Может кто-нибудь помочь?

Спасибо.

+0

Добро пожаловать в StackOverflow. Есть ли у вас примеры кода, который вы пробовали? – cfs

ответ

4

Одним из способов было бы использовать свойство aoColumns для datatables и просто визуализировать вашу разметку для свойства sTitle как строку html.

http://www.datatables.net/usage/columns

//On datatable init the options would look something like this 
"aoColumns": [{ "sTitle": "<input type='checkbox' id='selectAll'></input>"}] 

Тогда вы можете просто подключить обработчик с флажком заголовка после того, как DataTable создан, чтобы проверить/снять все флажки;

Так что-то вроде:

$("#selectAll").toggle(function() { 
     $("checkboxSelector", dataTable.fnGetNodes()).attr("checked", true); } 
    , function() { 
     $("checkboxSelector", dataTable.fnGetNodes()).attr("checked", false); 
    } 
); 
+0

Cdlong, можете ли вы объяснить этот код немного больше? Это было бы очень полезно. – starchild

0

вы можете иметь ряд, как показано ниже

<tr> 
<th><input type="checkbox" id="selectall"/></th> 
<th>Cell phone</th> 
<th>Rating</th> 

и JQuery телеграфировать

<SCRIPT language="javascript"> 
$(function(){ 

// add multiple select/deselect functionality 
$("#selectall").click(function() { 
     $('.case').attr('checked', this.checked); 
}); 

// if all checkbox are selected, check the selectall checkbox 
// and viceversa 
$(".case").click(function(){ 

    if($(".case").length == $(".case:checked").length) { 
     $("#selectall").attr("checked", "checked"); 
    } else { 
     $("#selectall").removeAttr("checked"); 
    } 

    }); 
    }); 
    </SCRIPT> 
+0

Как получить все записи после нажатия на это текстовое поле? –

Смежные вопросы