我正在嘗試爲Bootstrap使用typeahead腳本。它工作得很好,但我希望它更有活力。我想在同一頁面上運行多個自動完成的輸入,而無需複製代碼。如何在jQuery的ajax函數中從類中訪問元素ID?
HTML:
<input type="text" class="typeahead" name="person_name" id="person-search">
<input type="text" class="typeahead" name="city_name" id="city-search">
基本的jQuery:
$('.typeahead').typeahead({
source: function(typeahead, query) {
return $.ajax({
url: '/ajax_lookup_script.php'
+ '?source=' + ###[HOW CAN I PUT ELEMENT ID HERE?]###
+ '&q=' + query,
success: function(data) {
return typeahead.process(data);
}
});
},
property: 'name'
});
以上不工作(明顯)。但是,如果我將類名設置爲.typeahead-person-search
,然後創建一個手動添加源person-search
和另一個函數完全用於.typeahead-city-search
的新預先功能,則一切正常。我想避免使用兩個函數,但它實際上只是一個將這兩個函數分開的變量。
如何將活動的.typeahead
類的元素ID放入$.ajax
函數中?
事先鍵入的內容不支持在'source'參數的函數,它必須是一個數組。源代碼中沒有任何東西會對你的函數做任何事情。 https://github.com/twitter/bootstrap/blob/master/js/bootstrap-typeahead.js這是你的意思是「顯然它不工作」? – Esailija 2012-08-08 15:54:10
我可以以某種方式將$(this)中的變量傳遞給typeahead函數,特別是source參數嗎? – Ryan 2012-08-08 16:11:40