如何更改 jQuery DataTables 输入行为

Posted

技术标签:

【中文标题】如何更改 jQuery DataTables 输入行为【英文标题】:how to change jQuery DataTables input behaviour 【发布时间】:2015-08-26 07:10:58 【问题描述】:

在Custom filtering - range search 的jQuery DataTables 示例中,如果我在输入字段Maxmun age 中输入一个值,例如“41”,则在我单击第一个数字(“4”)后,表格就会更新,这样所有的行都消失了,直到我也输入第二个数字(“1”)。有没有办法等待更新表格,直到第二个数字被数字化(假设我们不想要小于 10 的数字)?是不是直接按回车就可以更新了?

【问题讨论】:

检查here 【参考方案1】:

试试这个:

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

    // Event listener to the two range filtering inputs to redraw on input
    $('#min, #max').keypress( function(event) 

        var max = parseInt( $('#max').val(), 10 );
        if(event.which!==13 || max<10)
            return;
        table.draw();
     );
 );

我将 keyup 替换为 keypress 并捕获键 13(回车)。当用户按回车或最大值小于10时,不要绘制表格。

见http://jsfiddle.net/andresrondan/gygskjgx/

希望对你有帮助

【讨论】:

谢谢它的帮助。还有一种情况:如果我的字段值是日期,我应该使用这种方法(我认为它有效:>999,如果我想输入 YYYY),还是更好的方法? 谢谢!我不知道您的应用程序的上下文,但 filter >999 似乎是一个不错的解决方案。 ;)

以上是关于如何更改 jQuery DataTables 输入行为的主要内容,如果未能解决你的问题,请参考以下文章

如何动态更改 jQuery Datatables 高度

jQuery DataTables:如何更改分页活动颜色?

如何更改 DataTables jQuery 插件的分页按钮数量

如何在 .draw() 之后保持 jQuery DataTables 滚动位置

如何在不刷新网页的情况下使用 ajax 和 jquery 动态更改 Datatables 的多个列标题?

JQuery Datatables 在输入中搜索并选择