问题描述
- EXTJS4 下拉框绑定事件问题
-
目的是这样的:每次下拉框值的改变,就会改变store中的内容,从而改动页面的显示内容。
做到了第一步,但是问题是点第二个重新加载后去点之前的第一个,事件就没反应了。下拉框的监听事件感觉像是一次性用品?
代码:
var menuTreeStore = Ext.create('Ext.data.TreeStore', {
autoLoad : true,
proxy : {
type : 'ajax',
url : appBaseUri + '/sys/authority/getAuthority?globalRoleId=' + globalRoleId ,
reader : {
type : 'json',
root : 'children'
}
}
});
下拉框的值和下拉框 var projects = Ext.create('Ext.data.JsonStore', {
proxy : {
type : 'ajax',
url : appBaseUri + '/sys/project/getAll',
reader : {
type : 'json',
root : 'list',
idProperty : 'ItemValue'
}
},
fields : [ 'projectName', 'ItemValue' ]
});// Create the combo box, attached to the states data store var combo = Ext.create('Ext.form.ComboBox', { id:'project', fieldLabel: '项目选择', xtype: 'textfield', store: projects, name:'projectName', queryMode: 'remote', displayField: 'projectName', valueField : 'ItemValue', typeAhead : true, value: firstProject, editable : false, renderTo: Ext.getBody(), listeners : { select : function(combo, record, index) { console.log("change"); menuTreeStore.proxy= new Ext.data.HttpProxy({url: appBaseUri + '/sys/authority/getAuthority?globalRoleId=' + globalRoleId+'&projectName='+combo.getRawValue()}); menuTreeStore.load(); } } });:
解决方案
执行你的log了没有?可能是荤菜导致的,加个时间戳试试
menuTreeStore.proxy= new Ext.data.HttpProxy({url: appBaseUri + '/sys/authority/getAuthority?globalRoleId=' + globalRoleId+'&projectName='+combo.getRawValue()+'&_dc='+new Date().getTime()});
时间: 2025-01-31 05:48:41