今天在编码过程中遇到一个问题,临时还没解决,先记录下来
上面是我做的高级查询面板。。字段名和值都是读取配置文件,依据用户选择不同的字段名,自己主动载入不同的值列表,关系是与或
问题来了,我在字段名那个combobox下写了这种代码
listeners : { //监听该下拉列表的选择事件 select : function(combo, record, index) { combo.nextSibling().getStore().setProxy({//依据输入的ID选择数据来源 type : 'ajax', url : '../store/' + combo.getValue() + '.json' }); combo.nextSibling().getStore().load();//刷新一下 } }
意思是选了这个字段名后,配置以下一个combobox的store,实现联动
结果我每次新增出来的高级查询的值那个combobox的store都跟着改变,举个样例,上图那个客户名称相应的值的store应该是“请手动输入”,结果一选这个客户名称,以下一栏的store也跟着改变。
nextSibling的API上这么写:
nextSibling( [String selector] ) : Ext.Component 返回此组件的下一个同级组件. 任意选择下一个匹配 ComponentQuery 选择器的同级组件. 也可參考 next() 注意 这仅限于同级, 而且假设没有同级组件匹配, 返回 null . 对照 nextNode Parameters selector : String (optional) 一个 ComponentQuery 选择器过滤以下的组件. Returns Ext.Component 下一个同级组件 (或者下一个匹配选择器的同级组件). 假设没有没有匹配的同级组件返回 null.
问题攻克了再来编辑文章,有人懂的话请告诉我。。我 是刚開始学习的人
原因已经找到,原来是我为每个toolbar的值域设置了同一个store,汗,解决的方法是没新增一个toolbar,同一时候我给它的值域那边新建一个store