[Из песочницы] Расширение функциональности элемента input type=”text” до уровня «ComboBox»19.03.2012 09:53
Хабы: jQuery
Введение
В сети существует огромное количество плагинов для реализации какого рода расширений. К сожалению (к счастью ?) все они (возможно я плохо искал ?), предлагают некое законченное решение в разметкой и стилями. Если Вам нужен только функционал, то этот плагин для Вас.
Идея
Расширить функциональность элемента до уровня combobox. Только функционал без разметки и стилей. Организовать взаимодействие стандартными способом.
Для запросов к серверу использовать get ajax запрос, передавая на вход значение элемента.
Настраивать элемент через атрибуты:
или
Где:
url – адрес сервиса
lengthText –минимальное количество символов после которого производится запрос (умолчание 3)
timeWait – время в мсек по истечении которого производится запрос (умолчание 300)
Оповещения разработчика о состоянии запроса организовать через систему событий.
$().ready(function () {
$("#comboBox")
.query()
.bind("query_data", function (e, data) {
// вывести куда то результат – например в
})
.bind("query_error", function (e, data) {
// сообщить об ошибке
})
.bind("query_reset", function () {
// очистить
})
.bind('query_start query_end', function (e) {
// как то показать что идет запрос – здесь меняем фон элемента
$(this).css({ backgroundColor: e.type == "query_start" ? "#fdf5e6" : "#FFF" });
});
});
Читать дальше →