Dojo FilteringSelect - 完整的JSON响应数据不可见

时间:2016-02-01 06:53:55

标签: javascript json dojo

尝试将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;,但我错过了一些东西,或者没有抓住某些东西,这里非常重要,可以显示完整的回复!

1 个答案:

答案 0 :(得分:1)

你有searchAttr: "term",但是&#34; term&#34;不在你的JsonRest商店 - 我想你希望它是searchAttr: "label"