我需要從按鈕的函數中獲取json對象的id。如果我嘗試直接訪問id,我得到undefined
(不是錯誤/警告),但是如果我嘗試訪問該對象,我可以毫無問題地看到它(id和其餘數據)。datatables從json對象變得'undefined'
var table = $('#example').DataTable({
serverSide: true,
dom: 'Bfrtip',
ajax: '/get?op=2',
columns: [
{ data: 'id' },
// more columns
],
buttons: [
{
text: 'New',
action: function (e, dt, node, config) {
window.location.href = '/url?op=new'
}
},
{
text: 'Modify',
action: function (e, dt, node, config) {
window.location.href = '/url?op=modify&id=' + dt.row({ selected: true }).id())
},
enabled: false
},
{
text: 'Delete',
action: function (e, dt, node, config) {
},
enabled: false
}
],
select: true
});
我可以訪問JSON對象這樣做:
alert(JSON.stringify(dt.row({ selected: true }).data()));
// {"id":1,"key":"value","etc":"etc"}
這是工作,我可以看到該對象的警報。
alert(dt.row({ selected: true }).id()); // undefined
alert(JSON.stringify(dt.row({ selected: true }).id())); // "undefined"
alert(JSON.stringify(dt.row({ selected: true }).data()[0])); // undefined
這是行不通的,我可以看到undefined
而不是alert中的整數。
我嘗試更多的東西,我甚至不記得,但沒有工作...
我到底做錯了什麼?
我不明白你是如何選擇一行。我還沒有找到使用{selected:true}的示例。 – Bindrid
我沒有那樣做,有人給我的代碼作爲示例http://stackoverflow.com/questions/34573773/datatables-buttons-enable-disable-example-not-working/34573906?noredirect=1#comment56893128_34573906。你知道我如何從選定的行中獲取id值嗎? –
@Bindrid什麼? –