Вот как я это реализовал, используя отличную помощь Олега.
Я хотел, чтобы мои пользователи могли сразу ввести критерии поиска (в данном случае имя пользователя) и показать jqGridрезультаты, достижения.Нет необходимости возиться с всплывающим диалоговым окном поиска.
Вот мой конечный результат:
Для этого мне понадобился этот HTML-код:
Employee name:
<input type="text" name="employeeName" id="employeeName" style="width:250px" />
<!-- This will be my jqGrid control and pager -->
<table id="tblEmployees"></table>
<div id="pager"></div>
и этот JavaScript:
$("#employeeName").on('change keyup paste', function () {
SearchByEmployeeName();
});
function SearchByEmployeeName()
{
// Fetch the text from our <input> control
var searchString = $("#employeeName").val();
// Prepare to pass a new search filter to our jqGrid
var f = { groupOp: "AND", rules: [] };
// Remember to change the following line to reflect the jqGrid column you want to search for your string in
// In this example, I'm searching through the UserName column.
f.rules.push({ field: "UserName", op: "cn", data: searchString });
var grid = $('#tblEmployees');
grid[0].p.search = f.rules.length > 0;
$.extend(grid[0].p.postData, { filters: JSON.stringify(f) });
grid.trigger("reloadGrid", [{ page: 1 }]);
}
Еще раз, спасибо Олегу за то, что показали, как использовать эти поисковые фильтры.
Это действительно делает jqGrid намного больше пользователясодружественная.