Jquery自动完成不会附加

时间:2014-03-10 04:58:42

标签: javascript jquery jquery-ui jquery-plugins jquery-autocomplete

Jquery新手在这里。 我的jquery追加似乎不起作用。 非常感谢任何帮助。

我使用的是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 );
    };

小提琴 - http://jsfiddle.net/Yw2Y7/1/ 尝试在第二行的项目框中输入。第一行有效。

结果填充,我得到下拉,但只显示值。未附加item.description或似乎完全忽略了追加部分。

非常感谢您的帮助。

1 个答案:

答案 0 :(得分: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/