我在做 S2SH + EXTJS 实现修改功能时,其他字段的值都能加载到相应的 textfield里,为什么radiogroup 的值取不到呢?
{
xtype: 'radiogroup',
width:150,
fieldLabel: '跟踪级别',
items: [
{boxLabel: '特', name: 'message.level', inputValue: '特'},
{boxLabel: 'A', name: 'message.level', inputValue: 'A'},
{boxLabel: 'B', name: 'message.level', inputValue: 'B'},
{boxLabel: 'C', name: 'message.level', inputValue: 'C'}
]
},
加载的时候用 form1.form.load({
url:'getbyid.action?messageid='+r.get('messageid'), 从数据库中查询所有的字段值,只有radiogroup 的值取不出来,
请问高手,怎么设置阿?点修改时,可以加载单选框的值阿
[b]问题补充:[/b]
没有阿,
怎么做阿? 能详细点吗?
[b]问题补充:[/b]
formPanel.form.setValues({id:1,name:'aabbcc'});
ID:1 是什么意思阿? 能在详细点吗? 谢谢啦
[b]问题补充:[/b]
还是没有解决,
谁能
在我这个代码的基础上 帮我加上具体的实现动态赋值的方法?
谢谢啦
把下面代码放到你js文件的最上面就可以了
[code="js"]Ext.QuickTips.init();
Ext.override(Ext.form.BasicForm,{
findField : function(id){
var field = this.items.get(id);
if(!field){
this.items.each(function(f){
if(f.isXType('radiogroup')||f.isXType('checkboxgroup')){
f.items.each(function(c){
if(c.isFormField && (c.dataIndex == id || c.id == id || c.getName() == id)){
field = c;
return false;
}
});
}
if(f.isFormField && (f.dataIndex == id || f.id == id || f.getName() == id)){
field = f;
return false;
}
});
}
return field || null;
}
}); [/code]
貌似是要手动设置的,你先判断一下是否已经取出来 "跟踪级别" 的数据,如果数据获得没有问题,你可以手动设置一下
你试过用setValues()来设置单选框的值了吗?
formPanel.form.setValues({id:1,name:'aabbcc'});
radiogroup 是单选框,需要设置它得checked属性,你可以这样来做
checked:true/false
你可以给每一个radio加一个唯一的id 然后通过Ext.get(id).checked = true; 试试
setValues是这样用的
setValues:{[{id:'ID1',value:'值1'},{id:'ID2',value:'值2'}]}
radiogroup 里面没有设置ID值,所以每个子项都要加个ID,不过就算你赋值了,也不能保证选中啊,所以,你要使用checked来实现选中
这里的话你可以直接使用,试试效果
frm.form.setValues({message.level:'A'})
可以的话,我远程帮你弄3990995