用于清除过滤器工具栏文本框的jqGrid事件处理程序

时间:2016-11-11 23:07:37

标签: javascript jquery jqgrid free-jqgrid

我已经做了一些搜索,似乎无法在这里找到我的问题的解决方案。我需要捕获当用户单击X以清除jqGrid过滤器工具栏中的文本框输入时发生的事件。我正在使用free-jqGrid 4.13.1。

这是我用来设置过滤器工具栏的代码。这是一个全局方法,用于为项目中的所有jqGrids创建过滤器工具栏。

var bindTableFilterToolbar = function (table, selector) {
    table.jqGrid('filterToolbar', {
        defaultSearch: 'cn'
        , ignoreCase: true
        , stringResult: true
        , searchOnEnter: false
        , afterSearch: function () {
            var filteredRows = $('#' + selector + ' tr').filter(':not(.jqgfirstrow)');
            if (filteredRows.length === 1) {
                table.jqGrid('setSelection', filteredRows[0].id);
            }
        }
        , afterClear: function() {
            alert('this does not trigger');
        }
    });
}

这是一个截图,准确显示我的意思。

Filter Toolbar Image

对于此特定网格,datatype设置为json,但URL属性已设置,因此在AJAX请求之后,我知道它设置为local。我使用loadonce: true从服务器请求未经过滤的数据。

如何为用户单击X以清除文本框而绑定事件?我已经尝试添加afterClear处理程序,但是在单击X时似乎没有触发。查看on the trirand wiki for toolbar searching之后我认为afterClear用于清除整个工具栏,是我需要的东西。

0 个答案:

没有答案