2013-06-18 3 views
1

Я пытаюсь использовать функцию сопряжения typeahead, чтобы проверить, не возвращает ли мой результат. Если он не возвращает никаких результатов, я хочу добавить div в конец строки поиска. Однако функция сочленения заставляет мой маркер ломаться и возвращать случайные результаты. Кто-нибудь знает, есть ли способ выполнить это, не используя функцию сопряжения или как правильно использовать ее в этом случае? Думаю, я ошибаюсь.matcher function typeahead

$('.shop_search').typeahead({ 
     source: function (query, process) { 
      map = {}; 
      $.each(data, function (i, data) { 
       map[data.text] = { 
        address: data.text2, 
        name: data.text, 
        post: data.post 
       }; 
       shops.push(data.text); 
      }); 
      process(shops); 
      shops = []; 
     }, 

     minLength: 3, 
     matcher: function (item) { 
      if (item.indexOf(this.query) == -1) { 
       $(".dropdown-menu").append($('<li><button class="btn" >Advanced             Search</button></li>')); 
       return true; 
      } 
     }, 

     highlighter: function (item) { 
      var p = map[item]; 
      var itm = '' 
        + "<div class='typeahead_primary'>" + p.name + "</div>" 
        + "<div class='typeahead_secondary'>" + p.address + </div>" 
        + "</div>" 
        + "</div>"; 
      return itm; 
     }, 
    }); 

ответ

0

Кажется мне, что ты забыл "

+ "<div class='typeahead_secondary'>" + p.address + </div>" 

должен быть

+ "<div class='typeahead_secondary'>" + p.address + "</div>"