繁体   English   中英

如何在jQuery数据表中检查单击的行和列?

[英]How to check in jQuery datatable the clicked row and column?

用例:用户单击数据表单元格。 根据该单元格的行和列,应执行某些操作。

我该如何检查是否未单击某个列,如果他未单击该列,那么我将从他单击的行中检索信息,并允许他根据该信息执行操作。

我这样做是这样的,它的工作原理是:

  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
    }
  });

但是我觉得有一种更优雅的方法。

首先在td上设置一个aria来确定位置,类似于Table with 6 column这样

<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>

对于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; }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM