paging and sorting working fine at first time we select the drop down,if i choose some other drop down means displaying old records and paging also not working.I want to change the table with paging each time change the Drop down.
alert box showing cannot reinitialize data table.
please help me to resolve my issue .
What I have tried:
<script type="text/javascript">
function funChangeTable(ddlObj) {
var name = ddlObj.value;
debugger;
$.ajax({
url: 'JsonPaging.aspx/GetTableData',
data: JSON.stringify({ tableName: name }),
type: 'post',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(response) {
debugger;
var json = JSON.parse(response.d);
generateTable(json);
},
error: function(a, b, c) {
console.log(a, b, c);
}
});
}
function generateTable(json) {
var $table = $('#tblDynamic');
$table.find('thead').empty()
$table.find('tbody').empty()
if (json && json.length > 0) {
var header = json[0];
var columns = [];
for (var col in header) {
columns.push('<th>' + col + '</th>');
}
$table.find('thead').append('<tr>' + columns.join('') + '</tr>');
var rows = [];
for (var i = 0; i < json.length; i++) {
var row = json[i];
var tds = [];
for (var col in row) {
tds.push('<td>' + row[col] + '</td>');
}
rows.push('<tr>' + tds.join() + '</tr>');
}
$table.find('tbody').append(rows.join(''));
}
new1();
}
function new1() {
$('#tblDynamic').DataTable({
initComplete: function() {
this.api().columns().every(function() {
debugger;
var column = this;
var select = $('<select><option value=""></option></select>')
.appendTo($(column.footer()).empty())
.on('change', function() {
var val = $.fn.dataTable.util.escapeRegex(
$(this).val()
);
debugger;
column
.search(val ? '^' + val + '$' : '', true, false)
.draw();
});
column.data().unique().sort().each(function(d, j) {
select.append('<option value="' + d + '">' + d + '</option>')
});
});
}
});
}
</script>