我正在使用typeahead JS在我的控件中设置typeaheads。
输入类对象数组的代码如下:
var companylist2 = [
{ word: "Alabama" },
{ word: "Alaska" },
{ word: "Arizona" },
{ word: "Arkansas" },
{ word: "California" },
{ word: "Colorado" }
];
// Get Company Name Typeahead
var states = new Bloodhound({
datumTokenizer: function (d) {
return Bloodhound.tokenizers.whitespace(d.word);
},
queryTokenizer: Bloodhound.tokenizers.whitespace,
limit: 5,
local: companylist2
});
但是我想从我的后端动态设置它,所以我使用Ajax Jquery来填充这样的类对象数组:
$(function () {
$.ajax({
type: "POST",
url: "mypage.aspx/getCompanylist",
contentType: "application/json",
dataType: "json",
success: function (msg) {
companylist = msg.d;
alert(companylist[0]["word"]);
alert(companylist[1]["word"]);
}
});
});
公司列表[0] [" word"]和公司列表[1] [" word"]的警报都显示我想要显示的内容但是当我将源更改为我的JQuery中的那个,typeahead不起作用
答案 0 :(得分:0)
尝试在success
$(function () {
$.ajax({
type: "POST",
url: "mypage.aspx/getCompanylist",
contentType: "application/json",
dataType: "json",
success: function (msg) {
companylist = msg.d;
alert(companylist[0]["word"]);
alert(companylist[1]["word"]);
// Get Company Name Typeahead
var states = new Bloodhound({
datumTokenizer: function (d) {
return Bloodhound.tokenizers.whitespace(d.word);
},
queryTokenizer: Bloodhound.tokenizers.whitespace,
limit: 5,
local: companylist
});
}
});
});
可能Callback和Asynchronous有帮助。