2015-05-07 2 views
3

Я пытаюсь написать функцию, чтобы проверить, не выбрана ли какая-либо из строк таблицы.Проверьте, не выбрана ли какая-либо строка в jQuery DataTables

Мне нужна эта функция для запуска при любом нажатии <tr>.

спасибо.

Вот мой код для выбора строк:

$('#Request tbody').on('click', 'tr', function() { 
    if ($(this).hasClass('selected')) { 
      $(this).removeClass('selected'); 
    } else { 
      oTable.$('tr.selected').removeClass('selected'); 
      $(this).addClass('selected'); 
    } 
}); 
+1

Какова ваша проблема, и где ваш HTML? [Как задать хороший вопрос?] (Http://stackoverflow.com/help/how-to-ask). [Как создать минимальный, полный и проверенный пример] (http://stackoverflow.com/help/mcve). – Regent

+0

Он должен работать в соответствии с: https://datatables.net/examples/api/select_single_row.html – Masterakos

+0

Пожалуйста, добавьте свой HTML. – SheperdOfFire

ответ

0

Вы должны ответить на ваш вопрос уже. Код ниже позволит вам определить, есть ли какие-либо выбранные строки.

var $rows = oTable.$('tr.selected'); 

// If some rows are selected 
if($rows.length){ 

// Otherwise, if no rows are selected 
} else { 

} 

Я предполагаю, что где-то в вашем коде у вас есть var oTable = $('#Request').DataTable(). В противном случае вы можете использовать $('#Request').DataTable().

0

Использование API.

var oTable = $("#yourtable").DataTable(); 

anyRowSelected = oTable.rows({selected : true}).indexes().length === 0 ? false : true;//false - nothing selected. true - 1 or more are selected. 
4

По DataTables 1.10, есть какой-либо метод(), который может быть использован:

var table = $('#example').DataTable(); 

if (table.rows('.selected').any()) 
    // Your code here 
+1

Именно то, что я искал и должен быть отмечен как правильный ответ. Спасибо @corpico –

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