jQuery Autocomplete - Как начать поиск, когда пользователь щелкает текстовое поле ввода с переменным текстом
У меня есть ряд текстовых полей ввода, которые используют автозаполнение jQuery, чтобы помочь пользователю выбрать соответствующий элемент. Элемент должен совпадать, в противном случае поле должно быть пустым. Эта часть отлично работает.
Теперь это требует, чтобы пользователь щелкнул по полю, а затем начал набирать соответствующий текст, прежде чем делать выбор. Часто, но не всегда, первые несколько совпадающих символов известны скрипту (но они меняются от поля к полю). Если символы известны, я хотел бы помочь пользователю, позволив ему щелкнуть по полю ввода, а затем выполнить поиск и начать поиск, используя эти несколько символов. Символы могут быть неправильными, если так, пользователь может просто удалить их и ввести свой собственный ввод, чтобы выбрать совпадение.
То, что я хочу, - это просто набирать их для пользователя, когда они нажимают на ввод. Затем это волшебным образом запускает автопоиск, и они берут его оттуда. Но какой лучший способ сделать это?
Я имею:
$("#input_thing").autocomplete('query.php', {
width: 300,
multiple: false,
matchContains: false,
formatItem: formatItem,
formatResult: formatResult,
mustMatch: true,
cacheLength: 1,
extraParams: {
"category": function () {
return $("#category option:selected").val()
},
"order": "1"
}
}); // edit note: added missing `});`
$("#input_thing").focus(function () {
if ($("#search_starting_text").text().length > 0 && $("#input_thing").text() == 0) {
//This meets my conditions for helping the user but not sure what to do here!!!
}
}); // edit note: added missing `);`
Я не собираюсь вводить это, если это неправильный способ сделать это. Кроме того, я все равно не мог заставить его работать. Какие-либо предложения?
1 ответ
Предполагая, что это автозаполнение из jQueryUI 1.8, а не плагин, вам нужно вызвать метод поиска:
Из документов:
.autocomplete ("search", [value]) Запускает событие поиска, которое, когда данные доступны, отображает предложения; может использоваться кнопкой, подобной selectbox, чтобы открывать предложения при нажатии. Если аргумент значения не указан, используется текущее значение ввода. Может вызываться с пустой строкой и minLength: 0, чтобы отобразить все элементы.
так...
if ($("#search_starting_text").text().length > 0 && $("#input_thing").text() == 0) {
$("#input_thing").autocomplete( "search",$("#search_starting_text").text());
//This meets my conditions for helping the user but not sure what to do here!!!
}