extjs中下拉列表想加多个监听,是这么加吗?一级和二级单位联动不成功,怎么回事,请高手贴码指教 。谢谢
{id:"firstUnit",xtype:'combo',fieldLabel:'一级单位',queryMode:'local',store:Ext.create('E...
{ id: "firstUnit", xtype: 'combo', fieldLabel: '一级单位', queryMode: 'local',
store: Ext.create('Ext.data.Store', {
autoLoad: true,
fields: ["yjdwbm","yjdwmc","pym"],
proxy: {
type: 'ajax',
reader: { type: 'json', root: 'yjdwmc' },
url: "../../../ashx/ComboYJDW.ashx"
}
}),
valueField : 'yjdwbm',displayField : 'yjdwmc',
listeners: {// select监听函数
select : function(combo, record, index){
//Ext.getCmp('secondUnits').reset();
Ext.getCmp('secondUnits').getStore().load({
url: "../../../ashx/ComboEJDW.ashx",
params: {
yjdwbm: combo.value
}
});
}
},
listeners: {
specialkey: function (field, e) {
if (e.getKey() == Ext.EventObject.ENTER) {
Ext.getCmp('secondUnits').focus()
}
}
}
},{ id: "secondUnits", xtype: 'combo', fieldLabel: '二级单位', queryMode: 'local',
store: Ext.create('Ext.data.Store', {
autoLoad: true,
fields: ["yjdwbm","pym","ejdwmc","ejdwbm"],
proxy: {
type: 'ajax',
reader: { type: 'json', root: 'ejdwmc' },
url: "../../../ashx/ComboEJDW.ashx"
}
}),
valueField : 'ejdwbm',displayField : 'ejdwmc',
listeners: {
specialkey: function (field, e) {
if (e.getKey() == Ext.EventObject.ENTER) {
Ext.getCmp('propertyNature').focus()
}
}
}
},
我想根据一级、二级单位中的"pym",在一二级单位的下拉列表中显示store中相应的值:例如store中有许多单位,有五金公司,有建材公司,我输入拼音码(pym)wj,五金公司就会出现在下拉列表中 展开
store: Ext.create('Ext.data.Store', {
autoLoad: true,
fields: ["yjdwbm","yjdwmc","pym"],
proxy: {
type: 'ajax',
reader: { type: 'json', root: 'yjdwmc' },
url: "../../../ashx/ComboYJDW.ashx"
}
}),
valueField : 'yjdwbm',displayField : 'yjdwmc',
listeners: {// select监听函数
select : function(combo, record, index){
//Ext.getCmp('secondUnits').reset();
Ext.getCmp('secondUnits').getStore().load({
url: "../../../ashx/ComboEJDW.ashx",
params: {
yjdwbm: combo.value
}
});
}
},
listeners: {
specialkey: function (field, e) {
if (e.getKey() == Ext.EventObject.ENTER) {
Ext.getCmp('secondUnits').focus()
}
}
}
},{ id: "secondUnits", xtype: 'combo', fieldLabel: '二级单位', queryMode: 'local',
store: Ext.create('Ext.data.Store', {
autoLoad: true,
fields: ["yjdwbm","pym","ejdwmc","ejdwbm"],
proxy: {
type: 'ajax',
reader: { type: 'json', root: 'ejdwmc' },
url: "../../../ashx/ComboEJDW.ashx"
}
}),
valueField : 'ejdwbm',displayField : 'ejdwmc',
listeners: {
specialkey: function (field, e) {
if (e.getKey() == Ext.EventObject.ENTER) {
Ext.getCmp('propertyNature').focus()
}
}
}
},
我想根据一级、二级单位中的"pym",在一二级单位的下拉列表中显示store中相应的值:例如store中有许多单位,有五金公司,有建材公司,我输入拼音码(pym)wj,五金公司就会出现在下拉列表中 展开
1个回答
展开全部
肯定不能这么写啊,listeners一看就是大括号,也就是相当于对象,你看配置的select事件,是不是json键值对的格式?那你应该接着select后面逗号分隔再配置其他事件:
listeners : {
select : function(){},
specialkey : function(){}
}
而你却在一个对象上配置了两个listeners,你觉得浏览器会认哪一个?结果是后面的会覆盖前面的,所有你这种写法实际上只有specialkey这个事件生效了
listeners : {
select : function(){},
specialkey : function(){}
}
而你却在一个对象上配置了两个listeners,你觉得浏览器会认哪一个?结果是后面的会覆盖前面的,所有你这种写法实际上只有specialkey这个事件生效了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询