Nano Hash - криптовалюты, майнинг, программирование

jquery ui ключ ввода автозаполнения для добавления в список

У меня есть поле ввода, подобное этому http://jqueryui.com/demos/autocomplete/#multiple с помощью кнопки добавления. Я хочу добавить все значения, разделенные запятой, добавленными в список при вводе. Мне не удается это сделать, потому что нажатие клавиши с вводом кажется конфликтующим с событием select автозаполнения. Проблема в том, что пользователь может добавить только один элемент. Я хочу, чтобы пользователь добавил несколько элементов, а затем нажмите клавишу ввода, чтобы добавить их в список одновременно.

Событие клавиши ввода должно происходить только тогда, когда список предложений автозаполнения закрыт.


Ответы:


1

Вы можете использовать open и close события autocomplete, чтобы отслеживать, открыт ли в данный момент список предложений (с сохранением этой информации где-то — в примере ниже, в "selectVisible" data):

$( "#tags" )
    .bind( "keydown", function( event ) {
        if ( event.keyCode === $.ui.keyCode.ENTER && !$(this).data("selectVisible") ) {
            // Your code
        }
        ...
    })
    .autocomplete({
        open: function() {
            $(this).data("selectVisible", true);
        },
        close: function() {
            $(this).data("selectVisible", false);
        },
        ...
    });

Рабочий пример на jsFiddle.

20.10.2012

2

Раньше я с большим успехом использовал виджет jQuery Multiselect, и я считаю, что для пользователя более интуитивно понятно, что он может выбирать несколько вариантов.

Также он правильно обрабатывает клавишу Enter из коробки.

http://www.erichynds.com/jquery/jquery-ui-multiselect-widget/

26.10.2012
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

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

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..