我正在尝试使用 twitter bootstrap 从我的数据库中获取制造商。
因为 twitter bootstrap typeahead 不支持 ajax 调用,所以我使用这个 fork:
https://gist.github.com/1866577
在那个页面中有这个评论提到了如何做我想做的事。问题是当我运行我的代码时,我不断得到:
未捕获的类型错误:无法调用未定义的方法“toLowerCase”
我四处搜索并尝试将我的 jquery 文件更改为使用缩小和非缩小以及托管在谷歌代码上的文件,但我一直收到同样的错误。
我的代码目前如下:
$('#manufacturer').typeahead({
source: function(typeahead, query){
$.ajax({
url: window.location.origin+"/bows/get_manufacturers.json",
type: "POST",
data: "",
dataType: "JSON",
async: false,
success: function(results){
var manufacturers = new Array;
$.map(results.data.manufacturers, function(data, item){
var group;
group = {
manufacturer_id: data.Manufacturer.id,
manufacturer: data.Manufacturer.manufacturer
};
manufacturers.push(group);
});
typeahead.process(manufacturers);
}
});
},
property: 'name',
items:11,
onselect: function (obj) {
}
});
在 url 字段上,我添加了
window.location.origin
避免已经在另一个问题上讨论过的任何问题
同样在我使用之前$.each()
,然后决定在类似的问题$.map()
中使用推荐的 Tomislav Markovski
任何人都知道为什么我一直遇到这个问题?!
谢谢