mvc中的过滤选择

FilteringSelect in mvc

我想创建一个自动完成的输入字段,以便用户开始输入并在下拉列表中显示可能的值。我将从数据库中获取的数据。带有动态存储的东西...我如何从控制器调用我的 Methode?

我得到了以下 JS 函数:

searchNames:function()
     {
         var jsonStore = new JsonRest({
            url: config.rootContext + '/link/to/controllerMethod'
         });
         var memoryStore = new Memory();
         var myStore = new Cache(jsonStore, memoryStore);


        var fs = new FilteringSelect({
             id:  dijit.byId("serviceSelect"),
             store : memoryStore,
         });
         debugger;
         when(myStore.query({id:""})),
             function (items, request)
             {
                var val = "";
                if(items.length>0) val = items[0].id;
                 fs.set('value', val);
             }
     },

我的小部件包含:

<td><select data-dojo-type="dijit/form/FilteringSelect" id="serviceSelect" data-dojo-attach-event="onClick:searchNames"></select></td>

感谢您的投入。

FilteringSelect 小部件已为您完成此操作,因此您需要做的就是在其上设置存储,它应该开箱即用!

由于您已经在 HTML 中设置了 data-dojo-type 属性,因此您无需在 JS 代码中创建另一个 FilteringSelect

var jsonStore = new JsonRest({
  url: config.rootContext + '/link/to/controllerMethod'
});
var memoryStore = new Memory();
var myStore = new Cache(jsonStore, memoryStore);

var selectWidget = registry.byId('serviceSelect'); // registry refers to dijit/registry
selectWidget.set('store', myStore);

HTML 应该是这样的:

<td><select data-dojo-type="dijit/form/FilteringSelect" id="serviceSelect"></select></td>