Dojo searchAttr组合框数组
我想知道我的组合框中怎么会有多个搜索属性。我想要一些像:Dojo searchAttr组合框数组,dojo,Dojo,我想知道我的组合框中怎么会有多个搜索属性。我想要一些像: var cb = dijit.byId('myCombo'); cb.attr('store', store); cb.attr('searchAttr', ["name","age"]); 因此,我可以对两个标准进行自动完成。我假设您使用的是dojo.data.ItemFileReadStore。searchAttr仅适用于您在组合框中键入的属性 例如,如果您正在键入一个名称,但还希望按年龄进行筛选,则可
var cb = dijit.byId('myCombo');
cb.attr('store', store);
cb.attr('searchAttr', ["name","age"]);
因此,我可以对两个标准进行自动完成。我假设您使用的是dojo.data.ItemFileReadStore。searchAttr仅适用于您在组合框中键入的属性 例如,如果您正在键入一个名称,但还希望按年龄进行筛选,则可以向查询参数添加一个字段:
// Get names with age=30
// Use set because attr is deprecated
cb.set( 'query', { 'age' : 30 });
如果要在最初加载页面时更具体地使用名称,可以在查询中指定该名称:
// All names starting with 'a' and age=30
cb.set( 'query', { 'name' : 'a*', 'age' : 30 });
如果您希望您的年龄是动态的,则必须从另一个地方(例如,dijit、表单元素、dom节点等)获取它。下面是一个示例,用于在页面加载时从另一个名为“anotherDijit”(例如数字文本框)的dijit获取年龄:
// Get names with age specified in 'anotherDijit'
cb.set( 'query', { 'age' : dijit.byId('anotherDijit').getValue() } );
但是,要在“anotherDijit”diijt更改时更改查询中的年龄值,必须执行以下两项操作之一:
请注意,您在“query”参数中输入的字段的查询方式类似于AND(name=this,age=that,等等)。如果您需要更复杂的查询,包括OR和not,您可以使用dojox.data.androadReadStore,例如。这不是假答案!谢谢你花时间。