我从DataTable https://www.datatables.net/开始。我使用持续的DataTable。我可以通过ajax将数据从JSON字符串加载到DataTable。现在我想在连续点击时获取数据。正如你在http://debug.datatables.net/idihol看到的DataTable调试器 这是我的页面test.aspx
<table id="div_table" class="display cell-border compact" width="100%">
<thead>
<tr>
<td>No</td>
<td>Name</td>
<td>Des</td>
<td>LID</td>
<td>AID</td>
<td>DATE</td>
<td>BY</td>
</tr>
</thead>
</table>
这是我的剧本
var table = $('#div_table').DataTable({
"processing": false,
"serverSide": false,
"ajax": {
"url": "../BUS/WebService.asmx/LIST_LOCATION",
dataSrc: function (json) {
return $.parseJSON(json.d);
},
"dataType": "json",
"contentType": "application/json; charset=utf-8",
"type": "POST"
},
"aoColumns": [ //// 7 columns as Datatable
{ "mData": null, "aTargets": [0], "sType": "integer", "bSearchable": false, "orderable": false },
{ "mData": "LOCATION_NAME", "aTargets": [1], "sType": "string" },
{ "mData": "LOCATION_DES", "aTargets": [2], "sType": "string" },
{ "mData": "LOCATION_ID", "aTargets": [3], "sType": "string", "bVisible": false, "bSearchable": false, "orderable": false },
{ "mData": "AREA_ID", "aTargets": [4], "sType": "string", "bVisible": false, "bSearchable": false, "orderable": false },
{ "mData": "EDIT_DATE", "aTargets": [5], "sType": "date", "bVisible": false, "bSearchable": false, "orderable": false },
{ "mData": "EDIT_BY", "aTargets": [6], "sType": "string", "bVisible": false, "bSearchable": false, "orderable": false }
],
"order": [[1, 'asc']]
});
//table.columns([3, 4, 5, 6]).visible(false); //// disable column 4,5,6,7
//// create index column 1
table.on('order.dt search.dt', function () {
table.column(0, { search: 'applied', order: 'applied' }).nodes().each(function (cell, i) {
cell.innerHTML = i + 1;
});
}).draw();
$('#div_table tbody').on('click', 'tr', function () { // get full data or some columns at row selected
$(this).toggleClass('selected');
var data_ = table.row($(this)).data();
alert(data_[3] + " and " + data_[4]);
/// alert(table.row($(this)).data()); error it show info "object object"
});
运行后,我得到错误&#34;未定义和未定义&#34; 你能告诉我有关问题并给我建议。谢谢。
答案 0 :(得分:4)
问题是您的JSON数据是具有LOCATION_NAME
,LOCATION_DES
等属性的对象数组,但您尝试使用索引(data_[3]
,{{1}检索数据})好像你的JSON数据是一个数组数组。
从row().data()手册页:
函数返回:行数据源的数据源对象。这将是一个 数组如果你使用DOM源数据,否则它将是数组/ 用于使用数据填充表的对象/实例。
您尝试检索的数据将在data_[3]
和data_['LOCATION_ID']
中提供。