2013-12-23 115 views
1

我有一個簡單的表單。從服務器像下面的返回JSON值:從數組填充表單textarea值

{ 
"success":true, 
"data":{ 
    "DNR_ID":"9", 
    "DNR_TYPE_ID":"1", 
    "DNR_DEF_ID":"1", 
    "DNR_DESC":"PROCTOR & GAMBLE HAFTASONU AKSIYONU", 
    "STORES": { 
     "0" => "ANKARA" 
     "1" => "ISTANBUL" 
    } 
} 
} 

正如你可以看到,有dataSTORES內的陣列。所以,我想要做的是,將這些值放入表單中提供的textarea中。

ExtJS簡單表單機制不起作用。

listeners: { 
    select: function() { 
     if (this.getSelectionModel().hasSelection()) { 
      var row = this.getSelectionModel().getSelection()[0]; 

      Ext.getCmp('dnr-list-info').getForm().load({ 
       url: '<?php echo base_url() ?>/list/get_dnr_info', 
       params: {dnrid: row.get('DNR_ID')}, 
       method: 'GET', 
       success: function(res) { 
        // In fact, this line doesn't necessary because form load function automatically fill the form 
        Ext.getCmp('dnr-list-info').getForm().setValues(res); 
       } 
      }); 
     } 
    } 
} 

回答

1

你需要去down到textarea的組件和setValue那裏。

myForm.down('#itemIdForTextArea').setValue('myValue'); 

,或者你可以直接查詢按項目編號以及textarea的...

Ext.ComponentQuery.query('#itemIdForTextArea')[0].setValue('myValue'); 

或ID。在sencha docs

+0

此外,如果

Ext.getCmp('idForTextArea').setValue('myValue'); 

更多信息可用您正試圖從記錄中加載數據。你可以使用loadRecord。只要確保textarea上的名稱與商店中的名稱相對應即可。 – weeksdev