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