использует функцию автозаполнения, так что это нормальное поведение.
Например, если вы установите значение ввода «o», вы увидите только оранжевый в параметрах каталогизации. Он проверяет слово из первой буквы. Но если вы установите значение ввода в «a», вы не увидите никаких параметров.
Итак, если у вас уже есть значение во вводе, то ничего не будет отображаться в параметрах datalist, кроме этого значения, если оно существует. Это не ведет себя как select.
Обходным решением для этого было бы использовать jquery, например, это:
$('input').on('click', function() {
$(this).val('');
});
$('input').on('mouseleave', function() {
if ($(this).val() == '') {
$(this).val('apple');
}
});
Полный тест здесь: https: // jsfiddle .net / yw5wh4da /
Или вы могли бы использовать . Для меня это лучшее решение в этом случае.
Проверьте сообщение Rick Strahl Клиент, Обрабатывающий по шаблону с jQuery. Он исследует jTemplates, но тогда делает лучший случай для John Resig решение микрошаблонной обработки, даже улучшая его некоторые. Хорошие сравнения, много образцов.
Не уверенный, как это решает Вашу определенную проблему, но существует также ЧИСТО движок шаблонов.
Это не jsquery конкретный, но здесь является основанной на JS библиотекой шаблонной обработки, выпущенной Google как открытый исходный код:
http://code.google.com/p/google-jstemplate/
Это позволяет использовать элементы DOM в качестве шаблонов и повторно используемо (в этом, вывод шаблонного рендеринга является все еще шаблоном, который может быть повторно представлен с различной моделью данных).
У Джона Ресига есть один, который он разместил в своем блоге. http://ejohn.org/blog/javascript-micro-templating/
Если вы работаете в .NET Framework 2.0 / 3.5, вам следует взглянуть на JBST, реализованный в http://JsonFx.net . Он имеет клиентское решение для создания шаблонов, которое имеет знакомый синтаксис JSP / ASP, но предварительно скомпилировано во время сборки для компактных шаблонов с возможностью кеширования, которые не нужно анализировать во время выполнения. Он хорошо работает с jQuery и другими библиотеками JavaScript, поскольку сами шаблоны скомпилированы в чистый JavaScript.
Механизм шаблонов
Базовое использование
Предполагается, что у вас есть следующий ответ JSON:
data = { user: { логин: "tomek", first_name: "Томас", last_name: "Мазур", Счет: { статус: "активный", expires_at: "2009-12-31" } } }
вы можете создать:
nano ("
Здравствуйте, {user.first_name} {user.last_name}! Ваш аккаунт {user.account.status} sizes
" , данные)и готовая строка:
Привет Томас Мазур! Ваша учетная запись активна
Тестовая страница ...
jQote: http://aefxx.com/jquery-plugins/jqote/
Кто-то взял решение Micro-Templating Resig и упаковал его в плагин jQuery.
Я буду использовать это, пока Ресиг не выпустит свой собственный (если он выпустит свой собственный).
Спасибо за совет, ewbi.
Я использовал плагин jtemplates jquery, но производительность была очень плохой. Я переключился на trimpath ( http://code.google.com/p/trimpath/wiki/JavaScriptTemplates ), который имеет гораздо лучшую производительность. Я не заметил никаких проблем с IE7 или FF.
Только что провел небольшое исследование по этому вопросу и буду использовать jquery-tmpl. Почему?
Подробнее здесь: http://forum.jquery.com/topic/templating-syntax
Другие указали jquery-tmpl, и я проголосовал за этот ответ. Но обязательно взгляните на форки github.
Есть важные исправления и интересные функции. http://github.com/jquery/jquery-tmpl/network