2013-07-28 55 views
-1

我試圖實現國家typeahead示例,但難以加載它。我究竟做錯了什麼?基本typeahead實現

的jsfiddle這裏:http://jsfiddle.net/EXgq9/

HTML

<input type="text" class="typeahead" placeholder="Enter your location"> 

JS

$(document).ready(function() { 
    $('.typeahead').typeahead({ 
    name: 'countries', 
    prefetch: 'http://twitter.github.io/typeahead.js/data/countries.json', 
    limit: 10 
    }); 
} 
+0

您的'prefetch'參數是否指定與您使用該代碼的頁面不同的域?請注意,你的小提琴完全不起作用,因爲你沒有從「Frameworks&Extensions」下拉列表中選擇「jQuery」,也沒有指定包含typeahead插件,但即使你確定它仍然獲勝因爲URL不會解析爲可訪問的路徑而無法工作。 – nnnnnn

+0

這只是我嘗試使用jsfiddle併爲您提供一些代碼(我將typeahead.js添加爲外部資源);預取位於我的服務器上。 – alias51

+0

你的jsfiddle有一堆問題。你的外部資源指向錯誤的URL,你有一個語法錯誤,你的預取url將會是404。如果沒有解決這個問題,幾乎不可能幫你調試你的問題。 – jharding

回答

0

這應該是近工作小提琴:http://jsfiddle.net/GDqme/

與您的代碼的問題是,你正試圖使用:

prefetch: 'http://twitter.github.io/typeahead.js/data/countries.json' 

它不起作用,因爲它會跨站點請求和Twitter不允許。

你應該做的就是下載一個JSON文件,並將其設置在本地:

$('.typeahead').typeahead({ 
    name: 'countries', 
    prefetch: '/data/countries.json', 
    limit: 10 
}); 

無論如何,請記住,console(從螢火蟲/ Chrome瀏覽器開發工具)是你的朋友。