EXTJS4两个ComboBox的数据源联动,解决遇到第二个ComboBox第二次以后显示忙的状态问题...

定义如下【红色部分是后加上的,它是解决问题的关键】:

var bu_store = Ext.create('Ext.data.Store', {
fields: ['key', 'value'],
remoteSort: true, //是否在服务端排序
proxy: {
type: 'ajax', //异步获取数据,这里的URL可以改为任何动态页面,只要返回JSON数据即可
url: 'soc/GetBU',
reader: {
root: 'items'
},

simpleSortMode: true
}
});
var evt_bu = new Ext.form.ComboBox({
id: 'evt_bu',
fieldLabel: 'BU',
width: 240,
store: bu_store,
displayField: 'value',
valueField: 'key',
triggerAction: 'all',
emptyText: '请选择...',
allowBlank: false,
blankText: '请选择BU',
editable: false,
mode: 'local', //该属性和以下方法为了兼容ie8
listeners: {
'render': function () {
bu_store.load();
}
}
});

var pdl_store = Ext.create('Ext.data.Store', {
fields: ['key', 'value'],
remoteSort: true, //是否在服务端排序
autoLoad: false,
proxy: {
type: 'ajax', //异步获取数据,这里的URL可以改为任何动态页面,只要返回JSON数据即可
url: 'soc/GetPDL',
reader: {
root: 'items'
},

simpleSortMode: true
}
});

pdl_store.on("beforeload", function () {
Ext.apply(pdl_store.proxy.extraParams, {'bu': evt_bu.getValue()});
});

var evt_pdl = new Ext.form.ComboBox({
fieldLabel: '      产品线',
width: 240,
store: pdl_store,
listConfig: {loadMask: false}, 
displayField: 'value',
valueField: 'key',
triggerAction: 'all',
emptyText: '请选择...',
allowBlank: false,
blankText: '请选择产品线',
editable: false
});

//联动的实现
evt_bu.on('select', function () {
evt_pdl.clearValue();
try{
pdl_store.load();
}
catch(ex){
Ext.MessageBox.alert("错误","数据加载失败。");
}
});

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值