Сегодня будет еще один небольшой пример работы с jqGrid. Я покажу каким образом можно заполнить форму поиска значениями по-умолчанию.
Чтобы не придумывать лишнего я использую пример из предыдущей статьи. Напомню, у нас есть таблица и поле с автозаполнением. Посетитель вводит текст в поле и из предложенных вариантов выбирает подходящий. После этого автоматически выполняется поиск и обновление данных в таблице.
Схема простая и удобная, но ее может оказаться не достатчно если нужно проводить поиск одновременно по нескольким полям.
Поэтому мы немного усовершенствуем пример. После выбора значения в поле с автозаполнением мы откроем форму поиска и в неё вставим выбранное значение. Таким образом, если пользователю будет нужно добавить другие условия, он сможет это сделать.
Посмотреть как это работает можно на демонстрационной страничке
Также выкладываю архив с исходниками.
SourceТеперь посмотрим как это сделать.
Примечание. Чтобы не повторять весь код, я буду считать, что вы читали предыдущие части: «jqGrid – поиск данных» и «Управление jqGrid с помощью поля с автозавершением».
Задача решается в 2 шага.
Шаг 1. Открываем форму поиска.
Делается это одной с помощью всего одной строчки кода
jQuery('#list').jqGrid('searchGrid', {multipleSearch:true});
Шаг 2. Заполняем поля формы.
К сожалению, я не нашел в документации удобного способа заполнения полей. Тем не менее, форма поиска – это обычный элемент страницы, поэтому мы можем работать с ней так же как и с любой другой формой.
Ищем нужные элементы формы (в данном случае это select со списком полей таблицы и текстовое поле со значением) и с помощью метода val устанавливаем нужные значения.
Окончательно функция updateTable выглядит так.
function updateTable(value) {
//открываем окно поиска
jQuery('#list').jqGrid('searchGrid', {multipleSearch:true
, afterShowSearch: function() {
var searchDialog = $('#fbox_list');
searchDialog.find('select[name=field]').val('city');
searchDialog.find('input').val(value);
}
});
}
Код серверной части я приводить не буду. Он практически не изменился по сравнению с примером из статьи «jqGrid – поиск данных». К тому же, он есть в архиве.
Как всегда, буду рад услышать ваши замечания и дополнения 😉
Интересно почитать.
Хороший ресурс, есть — интересные книги что читать.
Хотите сделать карьеру? Тогда планирование беременности — то, что вам нужно.
Постовой
Оказываем услуги по ведению кадрового учета, специалисты с 5-летним стажем работы


