日期:2014-05-16  浏览次数:20311 次

ExtJS4 自定义基于配置的高级查询1

今天在编码过程中遇到一个问题,暂时还没解决,先记录下来



上面是我做的高级查询面板。。字段名和值都是读取配置文件,根据用户选择不同的字段名,自动加载不同的值列表,关系是与或


问题来了,我在字段名那个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