Категории автозаполнения jQuery Выберите ярлык и значение

Попытка получить автозаполнение jQuery с категориями, чтобы вернуть выбранное значение в поле поиска и значение в отдельное поле ввода.

Я изменил данные, чтобы иметь значение, а также метку и категорию.

См. http://jsfiddle.net/chrisk/bM7ck/

Но значение всегда возвращается в поле поиска вместо метки.

Ответ 1

Как работает автозаполнение jquery ui при поставке как метки, так и значения. Если вы хотите, чтобы метка вернулась в поле поиска, переименуйте поле значения.

Обновлен скрипт: http://jsfiddle.net/jensbits/bM7ck/3/

Ответ 2

Вы близко, вам просто нужно:

  • Добавьте return false в конец обработчика событий select и
  • Добавить обработчик событий для события focus, чтобы вы могли переопределить это, используя метку вместо значения.

Здесь ваш код обновлен:

$("#search").catcomplete({
    delay: 0,
    source: data,
    select: function(event, ui) {
        $('#search').val(ui.item.label);
        $('#searchval').val(ui.item.value);
        return false; // Prevent the widget from inserting the value.
    },
    focus: function(event, ui) {
        $("#search").val(ui.item.label);
        return false; // Prevent the widget from inserting the value.
    }
});

Вот обновленный пример: http://jsfiddle.net/q2kDU/

Ответ 3

$(function() {
        $( "#searchitems" ).autocomplete({
            source: [<?php echo $search /*example for full list in php*/?>],
            minLength: 2,
            select: function(event, ui) {
                event.preventDefault();
                $("#searchitems").val(ui.item.label);
                $('#searchitemvalue').val(ui.item.value);
                window.location="#"; //location to go when you select an item
            },
            focus: function(event, ui) {
                event.preventDefault();
                $("#searchitems").val(ui.item.label);
                $('#searchitemsvalue').val(ui.item.value);
            }
        });
    });