我正在尝试使用filterToolbar
搜索选项。
遗憾的是,带参数的搜索字符串未添加到网址中。
在调试中我看到这一行被执行:
590 if(!bsr) { $($t).jqGrid("setGridParam",{search:sd}).trigger("reloadGrid",[{page:1}]); }
sd
在我的情况下是正确的。
我看到需要发送到服务器的值存储在名为sdata
的变量中,该变量未发送。我还看到postData
过滤器中包含正确的数据,但未发送。
我还注意到$t.p.searchurl
未定义。
这是我的jqGrid init(抱歉这个烂摊子):
grid_options = {
altclass: "grid-altrow",
altRows: true,
autowidth: true,
beforeSelectRow: edit,
datastr: datastr,
datatype: datatype,
height: "100%",
hidegrid: false,
multiselect: true,
multiselectWidth: 45,
onPaging: do_page,
onSortCol: sort,
pager: "#pager",
rowNum: ROW_NUM,
sortname: "zone",
url: url.toString(),
gridComplete: grid_complete,
jsonReader: {
page: page,
records: records,
repeatitems: false,
root: root,
total: total
},
prmNames: {
addoper: null,
deloper: null,
editoper: null,
id: null,
nd: null,
npage: null,
oper: null,
order: null,
page: null,
rows: null,
search: null,
sort: null,
subgridid: null,
totalrows: null
},
colNames: [
"Entry Id",
"Zone",
"IP Address",
"Netmask",
"Description"
],
colModel: [
{
hidden: true,
index: "id",
name: "id"
},
{
editable: true,
editoptions: {
value: zone_map
},
edittype: "select",
index: "zone",
name: "zone"
},
{
editable: true,
editrules: {
required: true
},
index: "ip",
name: "ip"
},
{
editable: true,
editoptions: {value: netmask_edit_options_value},
edittype: "select",
index: "netmask",
name: "netmask",
stype: "select"
},
{
editable: true,
edittype: "custom",
index: "comment",
name: "comment"
}
]
};
grid.jqGrid(grid_options);
grid.jqGrid("filterToolbar", {
searchOnEnter : false,
stringResult: true,
beforeSearch: function(e) {
debugger;
}
});
请帮忙吗?
答案 0 :(得分:2)
最后,我们使用postData
回发serializeGridData
手动序列化的解决方案(从选项中删除stringResult: true
后)。
我不是百分之百满意,因为我们仍然不知道为什么这不应该发生在开箱即用,并且怀疑在配置中仍然没有100%正确。
所以我不接受这个答案,也许有人会做得更好:)。
修改:接受此操作,因为找不到其他解决方案。