2012-12-01 213 views
1

我有一個按鈕,在點擊時應該通過ajax發送一個post請求。 我不確定如何去解決這個問題,因爲我對Ext非常陌生。Extjs4按鈕點擊網格

以下是我的按鈕渲染:

statusRenderer: function(value, metaData, record, rowIndex, colIndex, store) { 
    var html = '<span style="color:red;">' + value + '</span>'; 
    html += '&nbsp;<button type="button" data-id=' + record.data.ad_id + '>Reaudit</input>' 
    return html; 
} 

請點我如何:
1.設置單擊處理
2.設置店裏做一個ajax post請求
3.更新網格行上的成功響應。

謝謝!

回答

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>&nbsp;</div>', id); 
} 
return value; 
} 

AuditStatusStore.js

... 
proxy: { 
    root: 'json', 
    type: 'rest', 
    url : '/audit_statuses' 
}, 
+0

感謝分享您的解決方案+1 – sra