在ext中如何动态设置checkbox的checked属性!

我是用循环根据后台返回数据动态创建多个checkbox的(默认为未选),还要在窗口显示前根据又一个后台请求返回数据来初始化这些复选框的选中状态,可是我在窗口的show监听... 我是用循环根据后台返回数据动态创建多个checkbox的 (默认为未选),还要在窗口显示前 根据又一个后台请求返回数据来初始化这些复选框的选中状态,可是我在窗口的show监听事件中 用 获取到的对象.checked=true;没用啊 ,即窗口显示后 里面的checkbox还是没选中 ,这要怎么动态设置为选中状态?

非常急,敬请高手指教!
展开
 我来答
小豆526
2010-09-01 · TA获得超过165个赞
知道小有建树答主
回答量:165
采纳率:0%
帮助的人:145万
展开全部
首先你要请确保每一个checkbox都有一个唯一的id,例如:
boxLabel : '新增',
id:"add",
anchor:"50%",
name : '新增'

Ext.getCmp.setValue(true);设置为选中状态
Ext.getCmp.setValue(false);设置为未选中状态
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
luffy1201
2010-08-25 · TA获得超过1523个赞
知道小有建树答主
回答量:401
采纳率:0%
帮助的人:578万
展开全部
如果是树的话
var node = ptree.getNodeById(store.getAt(i).get('id'));//获取节点
node.getUI().checkbox.checked = true;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
610387710
2010-09-02 · 超过13用户采纳过TA的回答
知道答主
回答量:68
采纳率:0%
帮助的人:36.4万
展开全部
Ext.onReady(function() {
/*
转换数据库数据,判断是否选中
*/
function convertData(initData,valueData){
var items = new Array();
for(var i=0;i<initData.length;i++){
var temp=initData[i];
items[i]={name:'hobby',boxLabel:temp.dis,inputValue:temp.val,checked:isContains(valueData,temp.val)};//checked属性给的是定义的函数
}
return items;
}
/*
判断是否改选中。是返回true,否返回false
*/
function isContains(data,val){
var r = false;
for(var i=0;i<data.length;i++){
if(hobby[i]==val){
r=true;
break;
}
}
return r;
}

var initData=[{val:'zq',dis:'足球'},{val:'lq',dis:'篮球'},{val:'ppq',dis:'乒乓球'},{val:'wq',dis:'网球'}];//模拟数据库数据
var hobby=['zq','ppq'];//需要选中的数组,如果返回的是字符串的话转换成数组就行了
var itemsData=convertData(initData,hobby);//通过convertData(initData,valueData)函数将数据库数据转换成CheckboxGroup需要的数据
/*
创建CheckboxGroup
*/
var cgp = new Ext.form.CheckboxGroup({
fieldLabel:'爱好',
items:itemsData
});

/*
创建Form并渲染到页面
*/
var form = new Ext.form.FormPanel({
renderTo:'my_orm',
frame:true,
items:[cgp]
});
});
我刚写好的,不知道是不是最好的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式