jqgrid searchoptions 不需要调用后台接口
时间: 2023-09-15 10:21:34 浏览: 130
jqgrid的第一个例子。只包含js没有后台。
4星 · 用户满意度95%
如果你不需要调用后台接口来完成搜索功能,而是想在前端实现本地搜索,可以使用 jqGrid 的 searchoptions 属性来实现。searchoptions 属性可以定义搜索框的相关选项,包括搜索框类型、默认值、是否允许清空等。
下面是一个示例代码,演示如何在 jqGrid 中实现本地搜索功能:
```javascript
$("#jqgrid").jqGrid({
data: mydata,
datatype: "local",
colModel: [
{ name: "id", index: "id", hidden: true },
{ name: "name", index: "name", searchoptions: { sopt: ["cn"] } },
{ name: "price", index: "price", searchoptions: { sopt: ["eq", "ne", "lt", "le", "gt", "ge"] } },
{ name: "quantity", index: "quantity", searchoptions: { sopt: ["eq", "ne", "lt", "le", "gt", "ge"] } }
],
loadComplete: function() {
$(this).jqGrid("filterToolbar", { searchOnEnter: false, enableClear: true });
},
onSearch: function() {
var postData = $("#jqgrid").jqGrid("getGridParam", "postData");
var filters = postData.filters;
var mygrid = $("#jqgrid")[0];
mygrid.addLocalData(mydata);
mygrid.trigger("reloadGrid");
}
});
```
在上面的代码中,我们设置了 searchoptions 属性来定义每个列的搜索选项,例如 "cn" 表示模糊搜索,"eq" 表示精确搜索等。然后在 loadComplete 回调函数中调用 filterToolbar 方法来创建搜索工具栏,同时设置 searchOnEnter 为 false 表示用户需要点击搜索按钮才能触发搜索,设置 enableClear 为 true 表示允许清空搜索条件。
最后在 onSearch 回调函数中处理搜索事件,我们使用 addLocalData 方法将搜索结果添加到 jqGrid 中,然后触发 reloadGrid 方法重新加载数据。需要注意的是,使用 addLocalData 方法需要先将 datatype 设置为 "local"。
阅读全文