尝试将jQuery自动完成转换为Dojo版本。最初遵循此建议(Textbox autocomplete with DOJO),但切换到JsonRest
。
输入输入时(例如" th")我可以在控制台[{"id":"thing1","label":"thing1"},{"id":"thing2","label":"thing2"},{"id":"thing3","label":"thing3"}]
中看到正确的JSON响应,但屏幕上不会显示任何选项列表。当焦点离开目标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
的内容是&#34;自动完成&#34;,但我错过了一些东西,或者没有抓住某些东西,这里非常重要,可以显示完整的回复!
答案 0 :(得分:1)
你有searchAttr: "term"
,但是&#34; term&#34;不在你的JsonRest商店 - 我想你希望它是searchAttr: "label"