jqgrid4.6.0 input 搜索回车后 拦截并在本地搜索
时间: 2024-03-09 13:50:12 浏览: 103
您可以使用 jqGrid 提供的 onSearch 搜索事件来实现在本地搜索功能。具体步骤如下:
1. 在 colModel 中,为需要搜索的列配置 searchoptions 属性,其中设置 sopt 参数为 ['eq', 'ne', 'cn', 'nc'],表示可搜索等于、不等于、包含和不包含四种情况。
2. 在 jqGrid 初始化时,为 grid 绑定 onSearch 搜索事件,该事件会在用户点击搜索按钮或按下回车键时触发。
3. 在 onSearch 事件中,获取搜索条件,利用 jqGrid 提供的 filterToolbar 方法进行本地搜索。
以下是示例代码:
```javascript
$("#grid").jqGrid({
//... 其他配置省略
colModel: [
{name: 'id', index: 'id', width: 60, searchoptions: {sopt: ['eq', 'ne', 'cn', 'nc']}},
{name: 'name', index: 'name', width: 100, searchoptions: {sopt: ['eq', 'ne', 'cn', 'nc']}},
//... 其他列配置省略
],
onSearch: function () {
var postData = $("#grid").jqGrid('getGridParam', 'postData');
var filters = postData.filters;
if (filters) {
// 将 filters 转为 json 对象
filters = JSON.parse(filters);
// 在本地搜索
$("#grid").jqGrid('filterToolbar', {stringResult: true, searchOnEnter: false, defaultSearch: "cn"});
}
return false;
}
});
```
在上述示例代码中,我们将 searchoptions 属性设置为 {sopt: ['eq', 'ne', 'cn', 'nc']},表示可搜索等于、不等于、包含和不包含四种情况。在 onSearch 事件中,我们获取搜索条件,利用 filterToolbar 方法进行本地搜索。其中,stringResult 参数表示返回的搜索条件是否为字符串形式,searchOnEnter 表示是否在按下回车键时进行搜索,defaultSearch 表示默认搜索类型。
阅读全文