无休止地看着之后,我看不到这里出了什么问题。
我的Javascript和HTML:
Write-Host "##vso[task.setvariable variable=appSettings_personalAccessToken;isSecret=false;isOutput=true;]MY_TOKEN_VALUE"
和html:
$.ajax({
url: '/',
type: 'POST',
dataType: "json",
data: JSON.stringify(arr),
contentType: 'application/json; charset=utf-8',
success: function(response){
response = buildPhotoString(response);
populateTable(response);
}
}
);
function populateTable(response){
if ( $.fn.dataTable.isDataTable( '#dataTable' ) ) {
var table = $('#dataTable').DataTable();
table.destroy();
}
var table = $('#dataTable').DataTable( {
data: response,
columns: [
{ data: 'number' },
{ data: null,
render: function(data, type, rows){
return '<div class="btn-group"> <button id="b_Hoog" class="btn btn-md btn-success pull-left "> Hoogbouw</button> <button id="b_Laag" class="btn btn-md btn-danger pull-right"> Laagbouw</button> </div>';
}
},
{ data: 'photo'}
]
});
$('#dataTable').on( 'click', 'tbody #b_Hoog', function () {
var data = table.row( $(this).closest('tr') ).data();
updateDB('Hoogbouw', data.number );
});
$('#dataTable').on( 'click', 'tbody #b_Laag', function () {
var data = table.row( $(this).closest('tr') ).data();
updateDB('Laagbouw', data.number );
});
}
基本上,无论调用函数populateTable的次数如何,DataTable都可以正常绘制。但是,在多次调用populateTable后按下按钮b_Hoog或b_Laag时,数据未定义。第一次可以正常工作。 table.row.data确实总是返回数据。我得到的确切错误是:
body
table(id='dataTable' class="table table-striped")
thead
th= 'Referentie'
th= ' '
th= 'Foto'
tbody
我在这里做什么错了?
编辑:将index()添加到下面的行中修复了该死的东西
Uncaught TypeError: Cannot read property 'number' of undefined