【发布时间】:2017-11-10 17:52:50
【问题描述】:
每次插入新数据或选择不同的下拉选项时,我不确定如何使用正确的分页等重新加载新表。
我通常的代码所做的是,当我从下拉列表中选择一个值时,我的表格将刷新并在表格主体标签内显示一组新数据。当我使用这个插件时,它显示一切都很好,但是当我从下拉列表中选择不同的值时,它会显示一个新的集合,但我的排序、分页和其他功能仍将基于我选择的第一组数据运行。
这是我的代码。如果有人能指出我的错误,那真的很有帮助。谢谢!
var loadClassType = function(eventID){
$("#loadClassTypeTableBody").empty();
var formData = {
'perform' : "getClassTypeList",
'event_id' : eventID,
};
$.ajax({
type : 'POST',
url : './competition.php',
data : formData,
dataType : 'json',
encode : true
})
.done(function(data) {
if (data.success) {
var htmlBlock="";
var i = 1;
$.each(data.data, function(id,errMsg){
htmlBlock += '<tr>';
htmlBlock += '<td>'+i+'</td>';
htmlBlock += '<td>'+errMsg['class_type_name']+'</td>';
if (errMsg['status'] == 1 ) {
htmlBlock += '<td class="text-success">Active</td>';
}else{
htmlBlock += '<td class="text-danger">Disabled</td>';
}
if (errMsg['status'] == 1 ) {
htmlBlock += '<td><i class="material-icons" rel="tooltip" title data-original-title="Click to \'Disable\'" onClick="ctrlClassType(2,'+errMsg['id']+','+eventID+')">lock_open</i></td>';
}else{
htmlBlock += '<td><i class="material-icons" rel="tooltip" title data-original-title="Click to \'Enable\' " onClick="ctrlClassType(1,'+errMsg['id']+','+eventID+')">lock</i></td>';
}
htmlBlock += '</tr>';
i++;
});
$("#loadClassTypeTableBody").append(htmlBlock);
$("#loadClassTypeTable").DataTable().clear();
}else{
console.log(data);
}
});
}
还有我的 HTML 代码:
<table class="table table-hover" id="loadClassTypeTable">
<thead>
<tr>
<th>#</th>
<th>Class Type Name</th>
<th>Status</th>
<th>Options</th>
</tr>
</thead>
<tbody id="loadClassTypeTableBody">
<!-- Depends on JS -->
</tbody>
</table>
到目前为止,我尝试过的是,
$("#loadClassTypeTable").DataTable().clear().draw();
// returns "No data available in table" and following with my blocks of html code
$("#loadClassTypeTable").DataTable().ajax.reload(); // doesnt work because i am not passing a jason value
【问题讨论】:
标签: javascript jquery datatables