Extjs4 - 如何从form.load加载检查radiogroup

时间:2013-08-16 05:35:39

标签: extjs extjs4.1

我的表格包括像

这样的无线电组
{
 xtype: 'radiogroup',
        fieldLabel: 'group',
        name: 'a',
        items: [{
            boxLabel: '1',
            name: 'a',
            inputValue: '1'
        }, {
            boxLabel: '2',
            name: 'a',
            inputValue: '2',

        }, {
            boxLabel: '3',
            name: 'a',
            inputValue: '3'
        }]
    }

我使用

form.load({         
     url: 'example.php',
....});

我的json看起来像

{
    success:true ,
    data : {
       a:'2'    
    }
} 

但没有任何效果。如何解决这个问题

2 个答案:

答案 0 :(得分:1)

问题是radiogroup上的name属性。它根本不应该存在,或者你可以将它命名为其他东西。

    xtype: 'radiogroup',
    fieldLabel: 'group',
    name: 'a'  <--- REMOVE

这是你的小提琴中的代码示例。而不是表单上的load()方法我在FormBasic上使用setValues方法,因为我没有从中加载数据的服务器。但它以同样的方式工作。 http://jsfiddle.net/dbrin/JMmHz/

基本上问题在于它正在寻找与输入值名称匹配的第一个输入元素,并且正在寻找无线电组而不是单个无线电。

答案 1 :(得分:0)

您需要为调用添加一个回调方法,如下所示:

form.load({
    url: 'example.php', 
    success: function(response, options) {
      form.setValues(Ext.decode(response.data));
    }
});