加载extjs radiogroup数据时出现问题

时间:2009-12-25 17:36:42

标签: javascript forms extjs

如何在extjs中加载无线电组的数据,以便检查正确的无线电?

extjs radio/checkbox example page上,你会找到像这样的代码

{
  xtype: 'radiogroup',
  fieldLabel: 'Auto Layout',
  items: [
       {boxLabel: 'Item 1', name: 'rb-auto', inputValue: 1},
       {boxLabel: 'Item 2', name: 'rb-auto', inputValue: 2, checked: true},
       {boxLabel: 'Item 3', name: 'rb-auto', inputValue: 3},
       {boxLabel: 'Item 4', name: 'rb-auto', inputValue: 4},
       {boxLabel: 'Item 5', name: 'rb-auto', inputValue: 5}
   ]
 }

我希望用{'rb-auto': 3, …}之类的json做一个form.load()会将第3项标记为已选中。这不起作用。 你怎么能达到这个效果呢?

答案:(Zach对extjs 3.1是正确的)我的期望是正确的,但仅限于最近发布的extjs 3.1。此外,您需要将各个广播项目的名称设置为组本身:

{
  xtype: 'radiogroup',
  fieldLabel: 'Auto Layout',
  name: 'rb-auto',
  items: [
       {boxLabel: 'Item 1', name: 'rb-auto', inputValue: 1},
       {boxLabel: 'Item 2', name: 'rb-auto', inputValue: 2, checked: true},
       {boxLabel: 'Item 3', name: 'rb-auto', inputValue: 3},
       {boxLabel: 'Item 4', name: 'rb-auto', inputValue: 4},
       {boxLabel: 'Item 5', name: 'rb-auto', inputValue: 5}
   ]
 }

2 个答案:

答案 0 :(得分:2)

使用ExtJS 4,无线电组设置的以下结构为我带来了成功:

{ "data" : 
    [ 
      { "id" : "RadioGroupName",
        "value" : 
            { "RadioGroupName" : "inputValue" }
      },
      { "id" : "RadioGroupName2",
        "value" : 
            { "RadioGroupName2" : "inputValue" }
      }
    ],
  "success" : true
}

答案 1 :(得分:1)

这是一个适用于extjs 3.0的解决方案: http://www.extjs.com/forum/showthread.php?t=39161

使用3.1它不起作用。 : - (