从数组填充表单textarea值

时间:2013-12-23 12:14:37

标签: forms extjs extjs4.2 populate

我有一个简单的表格。从服务器返回的json值如下所示:

{
"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"
    }
}
}

如您所见,data内部有一个数组STORES。所以,我想做的是,将这些值放入表单中可用的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 个答案:

答案 0 :(得分:1)

您需要将down转到textarea组件并在那里setValue

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

或者您也可以按项目ID直接查询textarea ...

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

或id ..

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

sencha docs

中提供了更多信息