Если я правильно понимаю ваш вопрос, вы используете filterToolbar для поиска в сетке с datatype: "local"
.В случае, если jqGrid заполняет параметр postData.filters
в форме, описанной здесь , что соответствует поиску через диалог с multipleSearch: true
.
Вы можете реализовать свои требования внутри beforeSearch
обратного вызова filterToolbar
метод.Внутри обратного вызова вы можете использовать
var postData = $(this).jqGrid("getGridParam", "postData");
, чтобы получить ссылку на postData
объект.Затем вы можете использовать JSON.parse(postData.filters)
для преобразования фильтра, созданного filterToolbar
, в объект.Это будет объект типа
{
"groupOp": "AND",
"rules": [{
"field": "someColumnName",
"op": "cn",
"data": "data entered by user"
}]
}
Вы можете изменить объект, добавив еще один элемент в "rules"
и установив postData.filters
в новое значение JSON.stringify(modifiedFiltersObject)
.Наконец, beforeSearch
обратный вызов должен вернуть false
, чтобы продолжить фильтрацию.Таким образом, вы сможете реализовать свои требования.