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 полностью игнорируется.
Ваша помощь очень ценится.
$('.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);
} }
);