Как получить автозаполнение Jquery-ui с Codeigniter для отображения текста ответа - PullRequest
1 голос
/ 27 февраля 2012

У меня автозаполнение для работы, но с ошибками.Как правильно отформатировать код ответа? Код ответа :

{
    label: "Label 1",
    value: "27"
},
{
    label: "Label 2",
    value: "18"
},
{
    label: "Dave",
    value: "25"
},
{
    label: "Jacqui Potatoes",
    value: "17"
}

Javascript :

$("#account_search .ac_input").autocomplete({ 

    minLength: 0,
    source: base_url + "accounts/ac_results/account_name",    
    dataType: "json",
    type: "POST",

}).data( "autocomplete" )._renderItem = function( ul, item ) {

    .data( "item.autocomplete", item )
    .append( "<a>" + item.label + "<br>" + item.desc + "</a>" )
    .appendTo( ul );
    return $( "<li></li>" );
};

Я думаю, что проблема .data() - это проблема, хотя она и работает,Я хотел бы получить доступ как к метке, так и к значению

1 Ответ

0 голосов
/ 27 февраля 2012

У вас есть ошибка в функции _renderItem (вы должны вызвать .data для только что созданного <li></li>):

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

Я также заменил item.desc, который не существовалв ответе JSON со значением item.value.

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

Кроме того, обязательно удалите лишнюю запятую в объекте параметров.Кроме того, параметры dataType и type в любом случае недопустимы:

$("#account_search .ac_input").autocomplete({ 
    minLength: 0,
    source: base_url + "accounts/ac_results/account_name"
});

Пример (локальный источник данных): http://jsfiddle.net/nG8Q4/

...