Как создать текстовое поле, которое может принимать теги, такие как выбор тега stackoverflow?

Мне нравится создавать текстовое поле, в котором можно выполнять поиск, выбирать или удалять несколько тегов и, наконец, отправлять его в базу данных. Что-то вроде этого в stackoverflow: Как создать текстовое поле, которое может принимать теги, такие как выбор тега stackoverflow?

Я пробовал использовать это:

<input list = "browsers">

<datalist id = "browsers">
  <option value = "Internet Explorer">
  <option value = "Firefox">
  <option value = "Chrome">
  <option value = "Opera">
  <option value = "Safari">
</datalist>

Где ваш код javascript?

MrSmile 12.07.2018 12:54
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
1
1 424
3

Ответы 3

Вы можете использовать такой плагин:

https://bootstrap-tagsinput.github.io/bootstrap-tagsinput/examples/

Как можно ограничить ввод только списком значений?

qwww 12.07.2018 13:04

Вы можете проверить это в документации, параметр source делает уловку: $('input').tagsinput({ itemValue: 'value', itemText: 'text', source: function(query) { return [{ "value": 1 , "text": "Amsterdam" }, { "value": 2 , "text": "Madrid" }]; } });

Ferus7 12.07.2018 13:13

Это может помочь в выборе тега Stack Overflow -> Теги стека, а также использование таких фреймворков, как бутстрап, может сделать это намного проще, как уже упоминалось.

Как можно ограничить ввод только списком значений?

qwww 12.07.2018 13:04

Хорошо, что вы можете сделать, это отключить ввод, а также раскрывающийся список, в котором список представлений находится в раскрывающемся списке. когда представление выбирается из раскрывающегося списка, оно удаляется из раскрывающегося списка и добавляется как тег в поле ввода. Когда тег удаляется из поля ввода, он снова добавляется в раскрывающийся список. Вы используете какие-нибудь фреймворки?

Miaan 12.07.2018 13:12

Я работаю над фреймворком

qwww 12.07.2018 13:29

Вы можете использовать этот плагин JQuery

<link rel = "stylesheet" type = "text/css" href = "http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/flick/jquery-ui.css">
<link href = "css/jquery.tagit.css" rel = "stylesheet" type = "text/css">

<script src = "http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js" type = "text/javascript" charset = "utf-8"></script>
<script src = "https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.12/jquery-ui.min.js" type = "text/javascript" charset = "utf-8"></script>
<script src = "js/tag-it.js" type = "text/javascript" charset = "utf-8"></script>

<ul id = "myTags">
    <!-- Existing list items will be pre-added to the tags -->
    <li>Tag1</li>
    <li>Tag2</li>
</ul>

<script type = "text/javascript">
    $(document).ready(function() {
        $("#myTags").tagit();
    });

    $("#myTags").tagit({
        availableTags: ["c++", "java", "php", "javascript", "ruby", "python", "c"],
    readOnly: true,    
    });
</script>

Как можно ограничить ввод только списком значений?

qwww 12.07.2018 13:04

$ ("# myTags"). tagit ({availableTags: ["C++", "java", "php", "javascript", "ruby", "python", "c"]});

mshouman 12.07.2018 13:06

@qwww см. эту легкую документацию об этом github.com/aehlke/tag-it/blob/master/README.markdown

mshouman 12.07.2018 13:06

@qwww Я добавляю вам пример. Пожалуйста, попробуйте и дайте мне свой отзыв

mshouman 12.07.2018 13:11

Я пробовал ... он не работает, возможно, из-за какого-то столкновения с моим css

qwww 12.07.2018 13:39

Другие вопросы по теме