Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript DataTable自定义搜索实现_Javascript_Jquery_Datatables - Fatal编程技术网

Javascript DataTable自定义搜索实现

Javascript DataTable自定义搜索实现,javascript,jquery,datatables,Javascript,Jquery,Datatables,这可能是一个直截了当的问题,但我正在努力实现我找到的解决方案。缺乏使用JavaScript的经验 我正在尝试在DataTables表中实现自定义搜索,但我拥有的函数仅在启动时启动,而不是在搜索框中键入时启动 这是我正在尝试的搜索解决方案 $.fn.dataTable.ext.search.push(function( settings, data, dataIndex ) { var term = $('.dataTables_filter input').val().toLowerCa

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

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

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

$.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
})
预览我的数据表中的单元格

<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”]”)。更改(函数(){
$.fn.dataTable.ext.search.push(函数(设置、数据、数据索引){
var term=$('.dataTables_filter input').val().toLowerCase()

对于(var i=0,l=data.length;我能在JSFIDLE上重现这个问题吗?不,对不起,我不能。如果你看我文章中的链接,有一个JSFIDLE链接说明它应该如何工作。但是我无法在搜索栏中键入它。但是在加载页面时它确实会触发几次。
<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();
});