日期:2014-05-16  浏览次数:20315 次

Ext3.2+Struts2+Json的单选框(RadioGroup)的选中问题
      前面已经写了两篇关于“Ext3.2+Struts2+Json”的博文,所以在这里就不会多说很多细节。
      由于CP里面有个布尔类型Boolean的属性,如isOk,其中Ricki使用Ext定义该表单字段如下:
      {
       xtype:'radiogroup',
       fieldLabel:'是否OK',
       allowBlank: false,
       items:[{boxLabel:'是',inputValue:'true',name:'cp.isOk',id:'yes'},
              {boxLabel:'否',inputValue:'false',name:'cp.isOK',id:'no'}
             ]
    }
       修改某条具体的CP,且该CP的isOk值为true,弹出的修改CP信息窗口中,isOK单选框“是”并没有被选中。

       在网上寻找了很久,都没找到(估计Ricki太菜了,才没找到)。
 
       后来,只能在查询成功的success方法中作处理,代码如下:
        success:function(form,action){
      var jsonObj = Ext.util.JSON.decode(action.response.responseText);
      var cpObj = jsonObj.cp;
      if(cpObj.isOk == true){
      //Ext.getCmp("yes").checked = true;//发现这个行不通
      Ext.getCmp("yes").setValue("true");//设置选中单选框
      }else{     
      //Ext.getCmp("no").checked = true;//发现这个行不通
      Ext.getCmp("no").setValue("false");//设置选中单选框
      }
      }
      这样就解决了问题,当然Ricki对ExtJS还不够熟练,如果您有更好的方法,请不吝赐教,谢谢!有空,欢迎到红番薯逛逛