Есть ли быстрый способ создать элемент ввода текста со значком справа, чтобы очистить сам элемент ввода (например, окно поиска Google)?
Я посмотрел вокруг, но я только нашел, как поставить значок в качестве фона элемента ввода. Есть ли плагин JQuery или что-то еще?
Я хочу значок внутри элемента ввода текста, что-то вроде:
--------------------------------------------------
| X|
--------------------------------------------------
javascript
jquery
html
css
Джованни ди Милия
источник
источник
Ответы:
Добавьте
type="search"
к вашему входу. Поддержка довольно приличная, но не будет работать в IE <10
Очистимый ввод для старых браузеров
Если вам нужна поддержка IE9, вот несколько обходных путей
Используя стандарт
<input type="text">
и некоторые элементы HTML:Использование только
<input class="clearable" type="text">
(без дополнительных элементов)установить
class="clearable"
и играть с фоновым изображением:демоверсия jsBin
Хитрость заключается в том, чтобы установить правый отступ (я использовал 18px)
input
и выдвинуть фоновое изображение вправо, вне поля зрения (я использовалright -10px center
).Это отступ 18px предотвратит скрытие текста под значком (пока он виден).
jQ добавит класс
x
(еслиinput
имеет значение), показывающий значок очистки.Теперь все, что нам нужно, это нацелить jQ на входы с классом
x
и определить, находитсяmousemove
ли мышь внутри этой области «x» размером 18px; если внутри, добавьте классonX
.Нажатие на
onX
класс удаляет все классы, сбрасывает входное значение и скрывает значок.7x7px gif:
Строка Base64:
источник
.on('touchstart click', '.onX', ...
чтобы.on('touchstart click', '.onX, .x', ...
заставить его работать на iOS.Могу ли я предложить, если вы согласны с ограничением браузеров, совместимых с HTML 5, просто с помощью:
JS Fiddle demo
Следует признать, что в Chromium (Ubuntu 11.04) для этого требуется, чтобы текст был внутри
input
элемента до появится текстовое изображение / функциональность.Ссылка:
источник
Вы можете использовать кнопку сброса с изображением ...
Смотрите это в действии здесь: http://jsbin.com/uloli3/63
источник
Я создал очищаемое текстовое поле только на CSS. Для работы не требуется JavaScript-код
ниже находится демонстрационная ссылка
http://codepen.io/shidhincr/pen/ICLBD
источник
Согласно MDN ,
<input type="search" />
в настоящее время поддерживается во всех современных браузерах:Однако, если вы хотите, чтобы в разных браузерах было другое поведение, вот несколько легких альтернатив, для которых требуется только JavaScript:
Вариант 1 - Всегда отображать «х»: (пример здесь)
Вариант 2 - Отображать только «х» при наведении на поле: (пример здесь)
Вариант 3 - Отображать «x» только в том случае, если
input
элемент имеет значение: (пример здесь)источник
Поскольку ни одно из летающих решений действительно не отвечало нашим требованиям, мы создали простой плагин jQuery под названием jQuery-ClearSearch -
использовать его так же просто, как:
Пример: http://jsfiddle.net/wldaunfr/FERw3/
источник
РЕДАКТИРОВАТЬ: Я нашел эту ссылку. Надеюсь, поможет.http://viralpatel.net/blogs/2011/02/clearable-textbox-jquery.html
Вы упомянули, что хотите это справа от вводимого текста. Таким образом, лучшим способом было бы создать изображение рядом с полем ввода. Если вы ищете что-то внутри поля, вы можете использовать фоновое изображение, но вы не сможете написать скрипт для очистки поля.
Итак, вставьте и изображение и напишите код JavaScript, чтобы очистить текстовое поле.
источник
<input type="text" name="Search" value="Search..." onclick="this.value='';">
Если вы хотите, как Google, то вы должны знать, что «X» на самом деле не внутри
<input>
- они рядом друг с другом, а внешний контейнер имеет вид, похожий на текстовое поле.HTML:
CSS:
Пример: http://jsfiddle.net/VTvNX/
источник
Что-то вроде этого??
Jsfiddle Demo
источник
источник
Вы можете сделать с помощью этих команд (без Bootstrap).
источник
Вот плагин jQuery (и демонстрация в конце).
http://jsfiddle.net/e4qhW/3/
Я сделал это в основном, чтобы проиллюстрировать пример (и личный вызов). Хотя положительные отзывы приветствуются, другие ответы раздаются вовремя и заслуживают должного признания.
Тем не менее, на мой взгляд, это чрезмерно раздутое раздувание (если только оно не является частью библиотеки пользовательского интерфейса).
источник
x
кнопкиЯ написал простой компонент с использованием jQuery и начальной загрузки. Попробуйте: https://github.com/mahpour/bootstrap-input-clear-button
источник
Используя плагин jquery, я адаптировал его к своим потребностям, добавив настраиваемые параметры и создав новый плагин. Вы можете найти его здесь: https://github.com/david-dlc-cerezo/jquery-clearField
Пример простого использования:
Получив что-то вроде этого:
источник
jQuery Mobile теперь имеет следующее:
Документы JQuery Mobile API TextInput
источник
Не нужно включать CSS или файлы изображений. Нет необходимости включать всю библиотеку jQuery UI для тяжелой артиллерии. Я написал легкий плагин JQuery, который делает волшебство для вас. Все, что вам нужно, это
jQuery
и плагин . знак равноСкрипка здесь: демонстрация jQuery InputSearch .
источник