Я пытаюсь использовать twitter bootstrap, чтобы получить производителей из моей базы данных.
Поскольку twitter bootstrap typeahead не поддерживает вызовы ajax, я использую эту вилку:
https://gist.github.com/1866577
На этой странице есть comment, в котором упоминается, как делать именно то, что я хочу сделать. Проблема в том, что когда я запускаю свой код, я продолжаю получать:
Uncaught TypeError: невозможно вызвать метод 'toLowerCase' из undefined
Я столкнулся с ошибкой и попробовал сменить файл jquery на оба с использованием мини-и неминифицированных, а также на один, размещенный в коде google, и я продолжал получать ту же ошибку.
В настоящее время мой код выглядит следующим образом:
$('#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()
в качестве рекомендуемого Томислава Марковского в аналогичном вопросе
У кого-нибудь есть идея, почему я продолжаю получать эту проблему?!
Спасибо