javascript - 数据表过滤器不起作用

标签 javascript jquery datatables

为什么按名称列过滤不起作用?有人可以帮忙吗?

有一个带有 id="name" 的输入,它应该按表的名称列过滤值。但它不起作用。怎么了?

HTML:

        <div>
            <input type="text" id="name" name="name" placeholder="Name">
        </div>    
<table id="shTable" class="table table-striped table-bordered dataTable no-footer dtr-inline" role="grid" aria-describedby="shTable_info">
    <thead class="">
        <tr>
            <th>Name</th>
            <th>Position</th>
            <th>Office</th>
            <th>Age</th>
            <th>Start date</th>
            <th>Salary</th>
        </tr>
    </thead>
</table>

JavaScript:

<script>
    $.fn.dataTable.ext.search.push(
        function( settings, data, dataIndex ) {
            var max = parseInt( $('#max').val(), 10 );
            var name = $('#name').val();

            var age = parseFloat( data[3] ) || 0; // use data for the age column
            var name_table = (data[0]);

            if ( isNaN( max ) || ( age <= max ) || ( isNaN( max ) ) || ( age <= max ) || name_table.indexOf(name) > -1 )
            {
                return true;
            }
            return false;
        }
    );

    $(document).ready(function() {
        var table = $('#shTable').DataTable();

        // Event listener to the two range filtering inputs to redraw on input
        $('#max, #name').keyup( function() {
            table.draw();
        } );
    } );

</script>

最佳答案

它不会按名称过滤行,因为您混淆了直接从 datatables page 复制的代码.

这里,还涉及到另外一个领域。在您的情况下,您只需要按名称过滤(而不是像数据表页面中那样按年龄过滤)。所以你必须相应地调整过滤功能......

$.fn.dataTable.ext.search.push(
    function( settings, data, dataIndex ) {
        var name = $('#name').val();


        var name_table = (data[0]);

        if (  name_table.indexOf(name) > -1 )
        {
            return true;
        }
        return false;
    }
);

实际操作 here

关于javascript - 数据表过滤器不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47018433/

相关文章:

javascript - 在javascript中使用字符串访问变量

javascript - 带有文本替换的响应式 JavaScript

重定向手机用户的Javascript代码

jquery - 我想在单击按钮时在 DataTable 中填充数据,默认情况下它应该显示没有可用数据

jquery - 后退按钮可移动数据表的第n页

Javascript:使用 var 值作为 onclick window.open URL

javascript - 使用 SailsJS + AngularJS 时如何防止模板暴露

python - Jquery按钮点击用Flask和Python发送AJAX请求

javascript - 在 jquery 函数中使用 php 中的 javascript 变量

jquery - 为多列应用唯一类