2016-07-27 3 views
0

Использование: Пользователь нажимает на ячейку с данными. В зависимости от строки и столбца этой ячейки должно выполняться определенное действие.Как проверить в jQuery datatable щелкнув строку и столбец?

Как я могу проверить, не нажимает ли он на определенный столбец, и если он не нажимает на этот столбец, тогда я бы получил информацию из строки, на которую он нажал, и разрешить ему выполнить действие на основе этой информации ,

Я сделал это так, и это работает:

var validColumn = false; 
    $('#fooTable tbody').on('click', 'td', function() { 
    validColumn = $('#fooTable').DataTable().cell(this).index().column !== 5; 
    }); 
    $('#fooTable tbody').on('click', 'tr', function() { 
    if (validColumn) { 
     //do stuff 
    } 
    }); 

Но я чувствую, что есть более элегантный подход.

+0

Выразить HTML, чтобы помочь! – CMedina

ответ

0

Сначала установите арию в тд, чтобы определить позицию, что-то вроде таблицы Wiht 6 столбцов так

<tr aria-number="1"> 
    <td aria-number="1"> 
    <td aria-number="2"> 
    <td aria-number="3"> 
    <td aria-number="4"> 
    <td aria-number="5"> 
    <td aria-number="6"> 
</tr> 

То же самое для тр, думаю, это простой способ сделать

Использование JQuery функции .parent(), отправляя $ (this), так что.

var td = $(this).parent();//If the item clicked is something inside of td 
var tr = $(this).parent().parent();//To select the tr where was clicked 

И позвони арию с

if(td.attr('aria-number') == 6){ //do something; } 
Смежные вопросы