Плагин jQuery — autcomplete

#jquery #autocomplete

#jquery #автозаполнение

Вопрос:

Я скачал этот плагин:http://code.google.com/p/jquery-autocomplete

Я пишу это:

     $(document).ready(function () {
    $('#txtStoryTags').autocomplete('@Url.Action("GetTags", "Thread")', { dataType: 'json',
        parse: function (data) {
            var rows = new Array();
            for (var i = 0; i < data.length; i  ) {
                rows[i] = { data: data[i], value: data[i].Name, result: data[i].Name };
            }
            return rows;
        },
        formatItem: function (row) {
            return row.Name;
        },
        delay: 40,
        autofill: true,
        selectFirst: false,
        highlight: false,
        multiple: true,
        multipleSeparator: ";"
    });
});
  

И результатом Json является:

 [{"TagID":2,"Name":"tag1","Weight":4},{"TagID":4,"Name":"tag2","Weight":1},
  

До этого момента все было нормально.
Но когда я пытаюсь использовать автозаполнение, я получаю в результате:

 [object Object],[object Object],[object Object],[object Object],[object Object]
  

Ну, это не ожидаемый результат.
Вопрос в том, что не так с этим клиентским скриптом? Я почти уверен, что проблема кроется здесь, просто не знаю точно, где.

Ответ №1:

Я предполагаю, но

 formatItem: function (row) {
   return row.Name;
},
  

… мне кажется неправильным. В «строках», которые вы предоставляете плагину, есть data , value и result поля, но нет Name поля.

Комментарии:

1. Только что проверил это, и, к сожалению, это не тот случай.

2. @Lukasz Baran: Я посмотрел исходный код плагина, на который вы ссылались. В нем нет ссылки ни на функцию ‘parse’, ни на функцию ‘formatItem’. Вы уверены, что у вас правильный плагин?

3. О, вы правы. Есть несколько плагинов с точно таким же названием, и я пропустил это.