日期:2014-05-16 浏览次数:20325 次
今天在编码过程中遇到一个问题,暂时还没解决,先记录下来
上面是我做的高级查询面板。。字段名和值都是读取配置文件,根据用户选择不同的字段名,自动加载不同的值列表,关系是与或
问题来了,我在字段名那个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