我是ExtJS的新手,并尝试将此示例用作我的代码的基础: grid_binding
我有一个perl * .pm文件来处理我的后端功能。
我写了一个我自己的函数,在行选择上调用,使用我的* .pm来检索信息并覆盖detailPanel,如下所示:
var getInfo = function(id){
var conn = new Ext.data.Connection();
conn.request({
url: request_url,
params: {
_state: request_state,
_action: 'get_id_info',
id: id
},
callback: function(options, success, response){
var responseHash = Ext.decode(response.responseText);
var detailPanel = Ext.getCmp('detailPanel');
myTpl.overwrite(detailPanel.body, responseHash);
}
});
};
我的responseHash包含几个键,其中一些键的值是一个数组。
目前我的detailPanel看起来像这样:
// define a template to use for the detail view
var myTplMarkup = [
"values related to this key_name: {key_name}"
];
var myTpl = new Ext.Template(myTplMarkup);
这将在详细视图中打印与逗号分隔的该键相关的值。
现在,我想分别访问每个值并将其合并到一个链接中(并在详细视图中显示该链接)。
我该怎么做?
感谢!!!
答案 0 :(得分:0)
我将Ext.Template更改为Ext.XTemplate并使用此示例访问数组中的每个项目并生成一个超链接:
我发现XTemplate上的Ext文档非常有用。
所以现在我的代码看起来像这样:
// define a template to use for the detail view
var myTpl = new Ext.XTemplate(
'<p>item(s) related to this id:',
'<tpl for="key_name">',
'<p><a href="---url_template---{.}" target="_blank">{.}</a></p>',
'</tpl></p>'
);