1
我想知道我怎么能在我的组合框中有多重搜索Attr。我想有这样的东西:searchAttr combobox array
var cb = dijit.byId('myCombo');
cb.attr('store', store);
cb.attr('searchAttr', ["name","age"]);
所以我可以使两个标准的自动完成。
我想知道我怎么能在我的组合框中有多重搜索Attr。我想有这样的东西:searchAttr combobox array
var cb = dijit.byId('myCombo');
cb.attr('store', store);
cb.attr('searchAttr', ["name","age"]);
所以我可以使两个标准的自动完成。
我会假设你正在使用dojo.data.ItemFileReadStore。 searchAttr仅适用于您在ComboBox中输入的属性。
例如,如果你输入一个名字,但你也想筛选年龄的,你一个字段添加到查询参数:
// 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变化,你必须做两件事情之一:
请注意,您在“查询”参数中输入的字段被查询为AND(name = this AND age = that等)。如果您需要更复杂的查询,例如使用OR和NOT,则可以使用dojox.data.AndOrReadStore。
这不是假的答案!感谢花时间。 – gpasse 2011-05-26 08:22:04