2013-09-10 4 views
0

Я пытаюсь вручную вызвать поиск typeahead с помощью щелчка правой кнопкой мыши, вылавливая событие вставки следующим образом, но я не могу найти способ вызвать функцию «matcher» typeahead вручную для запроса введенной строки.Trigger Bootstrap typeahead on paste event

$('#search-bar').bind("paste", function(e) 
{ 
    $(this).trigger("keydown"); // Tried keyup, input to no avail! 
}); 

Любая помощь будет очень признательна!

+0

Что вы подразумеваете под «триггером типа головы»? Отправить поиск? У вас есть кнопка поиска. Вставьте HTML-код всей формы. – Miro

+0

Мне просто нужно запустить поиск типа, который запускается внутри файла typeahead.js с помощью функции keyup. Я не могу найти способ запустить его без keyup'ing и вызывать '.trigger ('keyup')' не работает. –

+0

Почему это уже не так? Я просто попробовал [этот пример] (http://twitter.github.io/typeahead.js/examples/), и я вставил одно письмо, и появилось несколько стран. Кроме того, почему вы не можете использовать $ ('# search-bar'). Bind ('change', ...) Это текстовое поле, поэтому оно должно работать так же, как вставить. – Miro

ответ

0

бесстыдно скопировал код из https://stackoverflow.com/a/15179532/559079

 $('#search-bar').typeahead({ 
      'updater' : function(item) { 
       myAjaxFunction(item); 
      } 
     }); 

function myAjaxFunction (item){ 
$.ajax({ //DO STUFF HERE }); 
} 
+0

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

+0

Я действительно не понимаю вашу проблему. Если у вас есть программа обновления, которая работает и срабатывает, как предполагается, она просто перемещает все ваши вещи ajax в функцию и запускает ее через обновление. Вам действительно не нужны события и триггеры (обновленный ответ) – Miro

-1

(1) мое ленивое решение: вызов $('#yourtypeaheadfield').trigger('keyup') к "олицетворять" в KeyUp/событие .. нажатии это как машинописные захваты в API JQuery.

(2) «лучше» ответ: огнем событие typeahead неявно - $().trigger('typeahead.updater') - Я не мог понять синтаксис, но он не документирован (по крайней мере, не для bootstrap 2.3.2).

0
$('#search-bar').bind("paste", function(e){ 
    var self = $(this); 
    setTimeout(function(){self.trigger("keydown");}, 0); 
});