我在ext列中有一个按钮,点击它时应该通过ajax发送一个post请求。 我不知道该怎么做,因为我对Ext很新。
以下是我的按钮渲染器:
statusRenderer: function(value, metaData, record, rowIndex, colIndex, store) {
var html = '<span style="color:red;">' + value + '</span>';
html += ' <button type="button" data-id=' + record.data.ad_id + '>Reaudit</input>'
return html;
}
请指点我如何:
1.设置点击处理程序
2.设置商店以执行ajax帖子请求
3.在成功响应时更新网格行。
谢谢!
答案 0 :(得分:1)
这就是我最终做到的方式:
AuditStatusGrid.js
initComponent: function() {
this.columns = [
...
{ header: 'Status', dataIndex: 'audit_status', renderer: me.statusRenderer, width: 130 },
...
];
}
statusRenderer: function(value, metaData, record, rowIndex, colIndex, store) {
if (value == 'Rejected') {
var id = Ext.id();
Ext.defer(function () {
Ext.widget('button', {
renderTo: id,
text: 'Reaudit',
width: 70,
handler: function () {
console.log(record.get('id'));
record.set('audit_status', 'Reaudit');
store.save();
}
});
}, 50);
return Ext.String.format('<div id="{0}"><span style="color:red;">Rejected</span> </div>', id);
}
return value;
}
AuditStatusStore.js
...
proxy: {
root: 'json',
type: 'rest',
url : '/audit_statuses'
},