Автозаполнение Jquery не добавляется

0

JQuery новичок здесь. Мой jquery append, похоже, не работает. Любая помощь приветствуется.

Я использую jQuery версии 1.8.3 и UI 1.9.2.

Ниже мой код.

$('.tinputer').autocomplete({
        source: "http://localhost/myapp/items/search_item",
        minLength: 1,
        select: function(event, ui) {
            var $itemrow = $(this).closest('tr');
            $itemrow.find('#item_description').val(ui.item.description);
            $itemrow.find('#unit_price').val(ui.item.price);
            $itemrow.find('#qty').focus();
            verify_item(ui.item.value);
        }
    }).data("autocomplete" )._renderItem = function( ul, item ) {
        return $( "<li></li>" )
        .data( "item.autocomplete", item )
        .append( "<a>" +  item.value + item.description + "</a>" )
        .appendTo( ul );
    };

Fiddle - http://jsfiddle.net/Yw2Y7/1/ Попробуйте ввести поле ввода во второй строке. Работает первая строка.

Результаты заполняются, и я получаю раскрывающийся список, но отображается только значение. Элемент item.description не добавляется или кажется, что раздел append полностью игнорируется.

Ваша помощь очень ценится.

  • 0
    Каково значение этой строки: $ itemrow.find ('# item_description'). Val (ui.item.description); Вы уверены, что item_description возвращает значение. Не могли бы вы сделать jsfiddle или что-то
  • 0
    Он ищет элемент с именем "item_description" в строке таблицы, ближайшей к элементу автозаполнения, и пытается добавить значение при выборе значения в раскрывающемся списке автозаполнения. Код для работы с select работает нормально, без проблем.
Показать ещё 3 комментария
Теги:
jquery-plugins
jquery-autocomplete

1 ответ

2
Лучший ответ
$('.tinputer').autocomplete({
source: projects,
minLength: 1,
select: function (event, ui) {
    var $itemrow = $(this).closest('tr');
    $itemrow.find('#item_description').val(ui.item.description);
    $itemrow.find('#unit_price').val(ui.item.price);
    $itemrow.find('#qty').focus();
    verify_item(ui.item.value);
}
}).

each(function(){               //This is the line added.


$(this).data("autocomplete")._renderItem = function (ul, item) {
return $("<li></li>")
    .data("item.autocomplete", item)
    .append("<a>" + item.value + " - " + item.description + "</a>")
    .appendTo(ul);
} }           
 );

DEMO http://jsfiddle.net/skhan/Yw2Y7/3/

  • 0
    большое Вам спасибо. Работает блестяще
  • 0
    Рад, что помогло :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню