jqgrid4.6.0 表头inpu 搜索后,拦截 查找数据进行覆盖、
时间: 2024-03-09 07:49:25 浏览: 142
jqgrid-4.6.0
5星 · 资源好评率100%
在 jqGrid 4.6.0 中,可以使用 `onSearch` 事件来拦截搜索操作,具体实现方法如下:
1. 在 `colModel` 中定义需要搜索的列,并将 `search` 属性设置为 `true`,表示该列可搜索。
```javascript
colModel: [
{ name: 'id', search: true },
{ name: 'name', search: true },
{ name: 'age', search: true }
]
```
2. 使用 `filterToolbar` 方法创建搜索栏,并在 `onSearch` 事件回调函数中修改搜索条件。
```javascript
$('#grid').jqGrid('filterToolbar', {
onSearch: function () {
// 通过 postData 获取当前搜索条件
var postData = $('#grid').jqGrid('getGridParam', 'postData');
// 在这里可以修改搜索条件
postData.id = 'newId';
postData.name = 'newName';
postData.age = 'newAge';
// 返回 true,继续执行搜索操作
return true;
}
});
```
在以上实现中,`onSearch` 事件被绑定到了搜索栏的 `filterToolbar` 方法中,当用户点击搜索按钮时,`onSearch` 事件回调函数被触发。在 `onSearch` 事件回调函数中,可以通过 `postData` 获取当前搜索条件,并在其中修改搜索条件。修改后的搜索条件会在搜索操作中被使用,从而实现了拦截搜索操作并覆盖搜索条件的功能。
需要注意的是,`onSearch` 事件回调函数需要返回一个布尔值,表示是否继续执行搜索操作。如果返回 `false`,则搜索操作会被取消。如果返回 `true`,则搜索操作会继续执行。
阅读全文