在JQuery中读取隐藏列的值

前端之家收集整理的这篇文章主要介绍了在JQuery中读取隐藏列的值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要在表上隐藏一列,但之后我无法读取所选行的隐藏列值.
  1. dtTable = $('#lookupTable').DataTable({
  2. "columnDefs": [
  3. {
  4. "targets": [ 0 ],"visible": false,"searchable": false
  5. }
  6. ],aaData: data,aoColumns: cols,paging: false,scrollCollapse: true,destroy: true
  7.  
  8. });

如您所见,第一列现在已隐藏.我试图用该代码读取列值

  1. selectedIndex = $(this).find('td:eq(0)').text();

如果我删除<“visible”:false>从代码我可以读取第一列的值,但如果它被隐藏它给我第二列值.

我厌倦了改变“witdh”财产,但它没有工作..

解决方法

CSS选择器不起作用,因为你的columnDefs中的“visible”:false并不意味着该列获得等效的display:none;标记中的样式属性.

相反,您必须使用DataTables API来获取隐藏列中的数据.

函数fnGetData可以解决这个问题.它返回作为参数传递给函数的单元格中的文本数据.

下面是文档中的示例

  1. oTable.$('td').click( function () {
  2. var sData = oTable.fnGetData( this );
  3. alert( 'The cell clicked on had the value of '+sData );
  4. });

在您的情况下,该列是隐藏的,因此您必须将其与第二个API调用组合.假设您单击具有隐藏的第一列的行,您可以将fnGetData与fnGetPosition函数组合.

  1. var position = dtTable.fnGetPosition(this);
  2. var hiddenColumnValue = dtTable.fnGetData(position)[0];

查看文档,它有一些很好的例子.

fnGetData()

fnGetPosition()

这是工作代码

  1. $('#lookupTable tbody').on('click','tr',function () {
  2.  
  3. selectedIndex = dtTable.row(this).data()[0];
  4. });

猜你在找的jQuery相关文章