ExtJs 修改组件值方式

本文介绍了一种使用Ext框架实现级联下拉列表的方法。具体步骤包括监听上级下拉框变化并调用自定义方法获取下级数据,通过Ajax请求获取数据并使用eval将返回的字符串转换为对象,最后更新下级下拉框的数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我在做一个下拉列表的级联

1
2
3
4
5
6
7
Ext.getCmp('_s_combobox_peSite_siteName').on('change',function(e,select){
//为下一级下拉框加载新值
//参数说明:select:peSite.Id   url:需加载的下接框        target:数据存放位置
//自定义方法getList(select,url,target)
//alert('e:' +e + ' select: ' + select);
getList(select,'/entity/teaching/electiveManage_ajaxGetTraining.action?siteId='+select,'_s_combobox_peTraining_trainingName','学期');
});
1
2
3
4
5
6
7
8
9
10
11
12
function getList(id,url,target,title){
Ext.Ajax.request({
url:url,
method:'GET',
disableCaching:true,
callback:function(option,success,response){
if(success){
_s_combobox_peTraining_trainingName = eval(response.responseText);
}
}
});
}

因为从服务单传过来response.responseText的内容就是下面所示的一个拼接字符串

1
_s_combobox_peTraining_trainingName = new Ext.form.ComboBox({ applyTo:'_s_combobox_peTraining_trainingName', width: 150, store: new Ext.data.SimpleStore({ fields: ['id''name'], data : [['4af8dec33e9d07a7013e9d0a57bc0004','2013第一学期'],['4af8dec33e9d07a7013e9d0b5fbc0005','2013第二学期']] }), valueField: 'id', displayField:'name', selectOnFocus:true, allowBlank: true, typeAhead:false, fieldLabel: '学期', name:'_s_combobox_peTraining_trainingName', id:'_s_combobox_peTraining_trainingName', triggerAction: 'all', editable: true, mode:'local', emptyText:'', blankText:''});

如果直接写成:_s_combobox_peTraining_trainingName =response.responseText

浏览器会把response.responseText当前一个字符串来处理,这样页面就无法显示,

可以通过js里面的alert(typeof(response.responseText))方法来查看它的类型(String),但是这里我要的是一个对象,所在我用js里面的eval(response.responseText)方法将它转换成了object类型,alert(typeof(response.responseText))弹出来的是object类型,这样页面就能显示了

产明

1
2
3
这里主要说明两点:
1、通过js里面的eval(String)方法将字符串转换成object对象
2、通过为同一个object对象重新赋值来改变他原来的参数值

 

本文转自  wbb827  51CTO博客,原文链接:http://blog.51cto.com/wbb827/1201871


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值