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