javascript - DataTable自定义搜索实现

标签 javascript jquery datatables

这可能是一个直截了当的问题,但我正在努力实现我找到的解决方案。缺乏 JavaScript 经验。

我正在尝试在 DataTables 表中实现自定义搜索,但我拥有的功能仅在启动时触发,而不是在搜索框中键入时触发。

here is my original question.

这是我正在尝试的搜索的解决方案。

$.fn.dataTable.ext.search.push(function( settings, data, dataIndex ) {
   var term = $('.dataTables_filter input').val().toLowerCase()
   for (var i=0, l=data.length; i<l; i++) {
     if ($(data[i], 'label').text().toLowerCase().indexOf(term) == 0 ) return true
   }
   return false
})

我在 $(document).ready(function(){ 之外尝试过,但它不起作用。

这里是DataTables表的初始化。

$(document).ready(function(){
.
.
.
    var oTable = $('#desktop_table').dataTable({
        "bInfo": false,
        "iDisplayLength": 15,
        "aLengthMenu": [15, 30, 50, 100],
        "sPaginationType": "full_numbers",
        "sDom": '<"top"i>frt<"bottom"lp><"clear">',
        "oLanguage": {
            "sLengthMenu": "Show _MENU_"
        },
        "sStripeOdd": "odd",
        "sStripeEven": "even",
        "rowReorder": true,
    });

}

DataTables 表格中单元格的预览

<td>
    <div class="plCell_desktop">
        <input type="radio" class="" data-lnk_id="414107671" data-group="RUTH">
        <label for="414107671">RUTH</label>
    </div>
</td>

最佳答案

$('input[type="radio"]').change(function () {
$.fn.dataTable.ext.search.push(function( settings, data, dataIndex ) {
   var term = $('.dataTables_filter input').val().toLowerCase()
   for (var i=0, l=data.length; i<l; i++) {
     if ($(data[i], 'label').text().toLowerCase().indexOf(term) == 0 ) 
      return true;
   }
   return false;
});
var table = $('#desktop_table').DataTable();
    table.draw();
});

关于javascript - DataTable自定义搜索实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38784170/

相关文章:

javascript - 在 v-text 字段 vuetify 中使用大括号?

javascript - 如何使 onChange 事件对来自数据库而不是来自用户操作 Jquery 的预选数据起作用

jQuery 的点击事件

javascript - 如何在 DataTable 中显示加载/处理消息?

jquery - 如何隐藏数据表中特定列的排序?

javascript - 如何防止在移动 View 中截取网页?

javascript - 表单提交,就是不停刷新

jquery - 在 FF 上动态创建后输入文本不会自动对焦

javascript - jquery - 没有相邻 "select"输入的目标标签

javascript - 将数据元素应用到数据表单元格