javascript - 使用数据表,如何在 <td> 中指定要搜索的元素

标签 javascript jquery datatables datatables-1.10

我正在使用 jquery DataTables,我有一个包含单元格的表格,每个单元格 <td>包含 <span>和一个隐藏的 <select> ,现在我只想过滤 <span> 中的文本不是<td>的全部内容其中还包含隐藏的 <select>元素。

我正在使用基本的 DataTables 配置:

$(document).ready( function () {
    $('#table_id').DataTable();
} );

我已经在这个网站上尝试了几天,数据表网站,谷歌搜索,但找不到答案,所以请帮忙提前谢谢

代码是在服务器上生成的,但是结果表是这样的: 请注意: <select>元素隐藏在 css 中

<tr>
     <td>
        <span>Text</span>
        <select>
        <option>option1</option>
        <option>option2</option>
        ....
        </select>
        </td>
    <td>
        <span>Text</span>
        <select>
        <option>option1</option>
        <option>option2</option>
        ....
        </select>
        </td>   
        </tr>
        ...

最佳答案

您可以使用下面的代码只搜索 <span>特定列中的单元格内部。请注意,我使用了 "targets": [0, 1]仅根据您的 HTML 代码定位第一列和第二列,根据您的需要进行调整。

$('#table_id').DataTable({
   "columnDefs": [{
      "targets": [0, 1],
      "render": function ( data, type, full, meta ) {
         if(type === 'filter'){
            return $('#table_id').DataTable().cell(meta.row, meta.col).nodes().to$().find('span').text();
         } else {
            return data;
         }
      }
   }]
});

或者,您可以使用 data-search <td> 上的属性元素来指​​定用于过滤的值,则不需要额外的初始化代码。请参见下面的示例:

<tr>
    <td data-search="Text">
        <span>Text</span>
        <select>
        <option>option1</option>
        <option>option2</option>
        ....
        </select>
    </td>
    <td data-search="Text">
        <span>Text</span>
        <select>
        <option>option1</option>
        <option>option2</option>
        ....
        </select>
    </td>   
</tr>

参见 manualexample有关 data- 的更多信息属性。

关于javascript - 使用数据表,如何在 <td> 中指定要搜索的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29319782/

相关文章:

javascript - jQuery : Event not binding in IE 10

javascript - 需要 jQuery 到 Tampermonkey 脚本和控制台中的安全变量

jquery - 从非原生 jquery webapp iOS 调用条码扫描器

javascript - 服务器端ajax搜索,等待输入完成-多表

javascript - 如果我放置日期选择器函数,数据表根本不起作用

javascript - 性能 - 您更喜欢哪个选项?

javascript - 在 HTML 选择选项中保留空白

javascript - JQuery DataTables 和 Jeditable - 字段包含 html 但不应该。为什么?

javascript - 如果文本溢出 HTML/CSS,如何使 div 滚动? (没有固定高度)?

javascript - 使用对象中最新受影响的数据