我正在尝试使用Twitter Bootstrap从我的数据库获取制造商。
由于Twitter Bootstrap的typeahead不支持AJAX调用,因此我正在使用此分支:
https://gist.github.com/1866577
在那个页面中,有这个评论提到了如何做到我想要做的事情。问题是当我运行我的代码时,我一直得到:
Uncaught TypeError: Cannot call method 'toLowerCase' of undefined
我在谷歌上搜索并尝试更改我的jquery文件,包括使用最小化和非最小化以及托管在Google Code上的文件,但我仍然收到相同的错误。
我的代码目前如下:
$('#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()
之前,我决定像Tomislav Markovski在类似的问题中建议的那样改用$.map()
.
有人知道我为什么会一直遇到这个问题吗?!
谢谢
toLowerCase()
的确切位置? - Cᴏʀʏ