zoukankan      html  css  js  c++  java
  • dataTable.NET的search box每輸入一個字母進行一次檢索的問題

    當使用dataTable.NET時,可以通到簡單的setting來添加一個search box進行全表格的檢索。

    $('#test-listing')
        .on('order.dt', function () {
            var table = $('#test-listing').dataTable();
            var currentSort = table.fnSettings().aaSorting;
            // do something here
        })
        .on('search.dt', function () {
            var value = $('.dataTables_filter input').val();
            // do something here
        })
        .on( 'init.dt', function () {
            // fired when DataTables has been completely loaded.
            firstTimePageLoad = false;
        } )
        .DataTable({
            paging: false,
            ordering: true,
            fixedHeader: true,
            "search": {
                "search": searchText
            },
            order: defaultSort,
        });

    當在search box輸入時,每輸入一次按鍵都會觸發 "seatch.dt"的function, 屏蔽的方法是將在search box上的keyup event進行unbind, 再bind自己要的function.,

    $('.dataTables_filter input').unbind();
    $('.dataTables_filter input').bind('keyup', function(e){
        if(e.keyCode == 13) {
            var table = $('#test-listing').dataTable()
            table.fnFilter(this.value);
            return false;
        }
    });

    上面的function會在按下enter鍵時,才進行fiter的動作。

    需要注意的是,在實際使用時,當按下enter鍵除了可以fiter外,還會觸發form中其他button的click動作,原因可能與browser有關,

    參考下面的link,

     https://github.com/facebook/react/issues/3907

    一個work around的解決方法,在其他button的click function中添加下面的code.

    if (event.detail == 0)
        return false;
  • 相关阅读:
    Rsync实现文件同步的算法(转载)
    Python模拟登录cnblogs
    负载均衡中四层和七层的介绍(转帖)
    Lvs+Keepalived实现MySQL高可用
    MySQL配置主主及主从备份
    Vim扩展YouCompleteMe插件
    使用Git
    Django回忆录
    Ansible安装配置及使用
    Hive学习之四 《Hive分区表场景案例应用案例,企业日志加载》 详解
  • 原文地址:https://www.cnblogs.com/sipher/p/11235507.html
Copyright © 2011-2022 走看看