2013-04-25 2 views
1

Я работаю с автозаполнения, я хочу, чтобы добавить заголовок в список, и это становится мне сложно, у меня возникли некоторые проблемы с этим: Это мой код:Jquery автозаполнения провалив фокус

var autocompleteCounselor = function() { 

       $(this.el).find('.alternateCounselorAutocomplete').autocomplete({ 
        minLength: 0, 
        source: this.counselorValidDelegates, 
        focus: function (event, ui) { 
        console.log(ui); 
         $(".alternateCounselorAutocomplete").val(ui.item.NAME()); 
         return false; 
        }, 
        select: function (event, ui) { 
         onAutocompleteAlternateCounselorSelected.apply(_self, [event, ui, _self.counselorFullValidDelegates]); 
        } 
       }).data("ui-autocomplete")._renderMenu = function(ul, items){ 
        var self = this; 

        ul.append("<li><span>Name</span>"+ 
        "<span>Title</<span>" + 
        "<span>Phone</<span> "+ 
        "<span>Location</<span>"+ 
        "<span>Department</span></li>"); 
        $.each(items, function(index, item){ 
         /*return $("<li>") 
          .append("<div class='listcounsuler'><span>" + "<a>" + item.NAME() + "</a>" + "</span>" + "<span>" + item.TITLE() + "</span>" + "<span>" + item.PHONE() + "</span>" + "<span>" + item.LOCATION() + "</span>" + "<span>" + item.DEPARTMENT() + "</span>" + "</div>") 
          .appendTo(ul);*/ 
          self._renderItem(ul, item); 
        }); 
       /* ul.append("</tbody></table>");*/ 


       }; 

       $('.alternateCounselorAutocomplete').autocomplete().data("ui-autocomplete")._renderItem = function (ul, item) { 
         return $("<li>") 
         .append("<div class='listcounsuler'><span>" + "<a>" + 
         item.NAME() + "</a>" + "</span>" + "<span>" + item.TITLE() + 
         "</span>" + "<span>" + item.PHONE() + "</span>" + "<span>" + 
         item.LOCATION() + "</span>" + "<span>" + item.DEPARTMENT() + 
         "</span></div>") 
        .appendTo(ul); 
       }; 

       $('.alternateCounselorAutocomplete').autocomplete("search", ""); 

       $(this.el).find('.counselorEdit').on('click', function() { 
        $('.alternateCounselorAutocomplete').autocomplete('close'); 
       }); 

      }; 

Меню отображается отлично, проблема заключается в том, когда я делаю фокус на ли, в консоли я вижу ошибку: Uncaught TypeError: Не удается вызвать метод NAME неопределенного

Я вижу, что объект фокуса не определен: Объект {изделие: не определено}

Функция рендеринга функции также работает нормально, я вижу «ли», как я хочу.
Я изменил _renderItem на _renderItemData, и это продолжается, я пробовал несколько вещей, и я не мог получить решение. Любая помощь будет приветствоваться.

С уважением

ответ

0

Я решил, что звонок из render_menu в self._renderItemData ..

Смежные вопросы