JQuery автозаполнение с заявлениями IF
Надеюсь, простой вопрос, я использую автозаполнение jQuery, который работает нормально и возвращает значения, основанные на запросе SQL, где LIKE $querystring
,
Теперь я хочу добавить дополнительный раскрывающийся список на моей странице ASPX, который будет запускать другой запрос SQL, основанный на том, что выбрано, и будет передано в Search.php
в то же время пользователь печатает в поле автозаполнения.
Проще говоря, я хочу использовать выпадающий список для поиска различных строк в моей базе данных SQL и возврата результатов автозаполнения на основе этой строки. Может кто-нибудь помочь мне со стороны ASPX, а также как прочитать значение со стороны PHP.
ASPX-код похож на этот http://jqueryui.com/autocomplete/
Спасибо
1 ответ
Да!!
Со стороны aspx: Есть несколько способов сделать это, но я предпочитаю TypeAhead из Bootstrap.
Здесь добавить атрибут предоставления данных
Вы можете использовать
<asp:TextBox ID="ucUserSearch" runat="server" class="typeahead"
data-provide="typeahead" placeholder="Enter text" autocomplete="off"
data-items="4" />
Затем со стороны сервера вы передаете данные из search.php, используя строковый объект json.
Сделайте ajax-вызов с URL-адресом search.php и присоедините источник данных к текстовому полю.
Вот пример кода, который я использовал в одном из моих недавних проектов. Я имею в виду, что вы можете написать похожий код для достижения результатов.
Здесь мы использовали класс typeahead, поэтому давайте выберем этот элемент через Jquery
jQuery(function ($) {
$('.typeahead').typeahead({
source: function (query, process) {
return $.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "search.php",
data: '{ "prefixText": "' + query + '" }',
dataType: "json",
success: function (data) {
//On Success lets return the values
//Please make sure to check how the json data is
//coming I had to use data.d in my case
var jsonData = FetchedData(data.d);
return process(jsonData);
},
failure: function (response) {
alert("Failure");
},
error: function (jqXHR, textStatus, errorThrown) {
alert("There seems to be an error");
}
});
}
});
});
function FetchedData(data) {
return data;
}
Ура!!!
Примечание: здесь я использовал файлы bootstrap.css,jquery и bootstrap.min.js. Пожалуйста, не забудьте включить эти