У меня есть jqGrid, который изначально пуст (я возвращаю данные с сервера только тогда, когда _search имеет значение true).
Это код сетки:
jQuery(gridId).jqGrid({
url : '/controller/GetData',
height : 100,
multiplesearch : true,
datatype : "json",
mtype : "POST",
rowNum : 10,
rowList : [ 10, 20, 30 ],
sortname : 'LBONumber',
sortorder : "desc",
viewrecords : true,
onSelectRow: jqGridRowSelected,
caption : 'DATA',
colNames : ["LBO","First name","Adress"],
colModel : [{"name":"LBONumber","index":"LBONumber","hidden":false},{"name":"FirstName","index":"FirstName","hidden":false},{"name":"Adress","index":"Adress","hidden":false},
});
У меня есть текстовое поле с идентификатором "LBO", и по нажатию кнопки я выполняю этот код:
$(gridId).setGridParam({
search: true,
postData: {
'filters':$.param({
'groupOp': 'AND',
'rules': [{ "field": 'LBONumber', "op": 'eq', "data": function () { return $("#LBO").val() } }]
})
}
});
Моя проблема в теле запроса:
_search=true&nd=1306834594225&rows=10&page=1&sidx=LBONumber&sord=desc&filters%5BgroupOp%5D=AND&filters%5Brules%5D%5B0%5D%5Bfield%5D=LBONumber&filters%5Brules%5D%5B0%5D%5Bop%5D=eq&filters%5Brules%5D%5B0%5D%5Bdata%5D=333
В нем должно быть указано ...filters=...
, а не ...filters%5B...
, и я не хочу обрабатывать его на сервере, это должен быть правильный способ заставить эту работу. Я знаю, что это на самом деле правильно сериализованный объект, но мне нужно, чтобы эта моя функция работала так же, как при включенном поиске jqGrid, так как для этого случая у меня уже есть серверный код.