Dojo FilteringSelect - 完整 JSON 响应数据不可见
Dojo FilteringSelect - Full JSON Response Data Not Visible
正在尝试将 jQuery 自动完成转换为 Dojo 版本。最初遵循此建议 (Textbox autocomplete with DOJO),但切换到 JsonRest
.
输入时(例如 "th"),我可以在控制台中看到正确的 JSON 响应 [{"id":"thing1","label":"thing1"},{"id":"thing2","label":"thing2"},{"id":"thing3","label":"thing3"}]
,但屏幕上没有显示选项列表。当焦点离开目标 input
时,它总是自动完成第一个元素(本例中为 "thing1")。
// DOM Element
<div id="things"></div>
// Get data
var jsonStore = new JsonRest ({
target: "/ajax_suggest/autocomplete"
});
// Autocomplete attempt
ready(function(){
var thingSearch = new FilteringSelect({
id: "things",
name: "things",
store: jsonStore,
placeHolder: "Search the things...",
searchAttr: "term",
onSearch: function(results, query) {
console.log(JSON.stringify(results));
}
},"things");
thingSearch.startup();
});
所以,在这一点上,我很满意 input
数据处理后数据正确到达,最终 input
的内容是 "autocompleted", 但我遗漏了一些东西,或者没有掌握一些东西,这里非常基础,可以显示完整的响应!
您有 searchAttr: "term"
,但 "term" 不在您的 JsonRest 商店中 - 我想您希望它是 searchAttr: "label"
正在尝试将 jQuery 自动完成转换为 Dojo 版本。最初遵循此建议 (Textbox autocomplete with DOJO),但切换到 JsonRest
.
输入时(例如 "th"),我可以在控制台中看到正确的 JSON 响应 [{"id":"thing1","label":"thing1"},{"id":"thing2","label":"thing2"},{"id":"thing3","label":"thing3"}]
,但屏幕上没有显示选项列表。当焦点离开目标 input
时,它总是自动完成第一个元素(本例中为 "thing1")。
// DOM Element
<div id="things"></div>
// Get data
var jsonStore = new JsonRest ({
target: "/ajax_suggest/autocomplete"
});
// Autocomplete attempt
ready(function(){
var thingSearch = new FilteringSelect({
id: "things",
name: "things",
store: jsonStore,
placeHolder: "Search the things...",
searchAttr: "term",
onSearch: function(results, query) {
console.log(JSON.stringify(results));
}
},"things");
thingSearch.startup();
});
所以,在这一点上,我很满意 input
数据处理后数据正确到达,最终 input
的内容是 "autocompleted", 但我遗漏了一些东西,或者没有掌握一些东西,这里非常基础,可以显示完整的响应!
您有 searchAttr: "term"
,但 "term" 不在您的 JsonRest 商店中 - 我想您希望它是 searchAttr: "label"