jqgrid 4.6 捕获 clearSearch 事件
时间: 2023-07-31 11:12:48 浏览: 48
在 jqGrid 4.6 中,也可以使用 `onClearSearch` 选项来捕获 `clearSearch` 事件,例如:
```javascript
$("#grid").jqGrid({
// ...
onClearSearch: function() {
// 在这里执行清除搜索框后的操作
// ...
},
// ...
});
```
在上面的示例中,当用户点击 jqGrid 的搜索框中的“清除搜索框”按钮时,将会触发 `onClearSearch` 事件,并执行相应的操作。在事件处理函数中,我们可以根据需要进行一些清除操作,例如清除搜索框中的值、重新加载数据等。
需要注意的是,`onClearSearch` 事件只有在 `clearSearch` 选项设置为 `true` 时才会触发。同时,如果搜索框中没有任何值,点击“清除搜索框”按钮时也不会触发该事件。
相关问题
jqgrid 4.6 捕获搜索事件
您可以使用 jqGrid 的 `onSearch` 事件来捕获搜索事件。当用户提交搜索表单时,该事件将被触发。您可以在事件处理程序中访问搜索条件,并执行任何其他操作。
下面是一个例子:
```javascript
$("#grid").jqGrid({
url: 'data.json',
datatype: 'json',
colModel: [
{ name: 'id', index: 'id', width: 60 },
{ name: 'name', index: 'name', width: 90 },
{ name: 'amount', index: 'amount', width: 80, align: 'right' },
{ name: 'price', index: 'price', width: 80, align: 'right' }
],
jsonReader: {
repeatitems: false,
id: 'id'
},
pager: '#pager',
rowNum: 10,
rowList: [10, 20, 30],
sortname: 'id',
sortorder: 'asc',
viewrecords: true,
caption: 'My Grid',
height: '100%',
autowidth: true,
onSearch: function () {
var postData = $("#grid").jqGrid('getGridParam', 'postData');
console.log(postData); // 输出搜索条件
// 执行其他操作
}
}).navGrid('#pager', { edit: false, add: false, del: false, search: true });
```
在上面的例子中,我们设置了一个包含四个列的 jqGrid,并在 `navGrid` 中启用了搜索功能。我们还定义了一个 `onSearch` 事件处理程序,在搜索表单提交时将被触发。在事件处理程序中,我们使用 `getGridParam` 方法从 jqGrid 中获取搜索条件,并将其输出到控制台。您可以执行任何其他操作,例如使用 AJAX 请求更新网格数据或显示进度条等。
jqgrid 4.6 销毁并重新加载
如果需要在 jqGrid 4.6 中销毁并重新加载 jqGrid,可以使用以下代码:
```
// 销毁 jqGrid
$("#grid").GridUnload();
// 重新加载 jqGrid
$("#grid").jqGrid({
// jqGrid 的配置项
...
});
```
这段代码会先销毁 jqGrid,然后重新加载 jqGrid,从而实现 jqGrid 的销毁和重新加载。
需要注意的是,在 jqGrid 4.6 中,可以使用 GridUnload 方法或者 GridDestroy 方法销毁 jqGrid。但是,如果表格中使用了一些插件或者事件,使用 GridDestroy 方法可能会导致这些插件和事件没有被完全销毁,而使用 GridUnload 方法可以完全销毁 jqGrid,从而避免这个问题。
另外,在 jqGrid 4.6 中,如果需要在重新加载 jqGrid 时传递参数,可以使用 setGridParam 方法设置 postData 参数,例如:
```
// 设置 postData 参数
$("#grid").jqGrid("setGridParam", { postData: { param1: value1, param2: value2 } });
// 重新加载 jqGrid
$("#grid").trigger("reloadGrid");
```
这样就可以在重新加载 jqGrid 时传递参数了。