Używam Jquery UI DataTable, która jest wypełniona select(DropDown)
change
zdarzenia. Na PageLoad
jest ok. Kiedy wykonuję zdarzenie dropdown change
, DataTable
jest Reinitialized
przy użyciu fnDestroy()
, ale zmienia się format DataTable
. Poniżej jest mój kod ..Reinicjalizuj Jquery DataTable w przypadku zmiany Wybierz (DropDown)
campusChangeEvent = function() {
$('#cmbClassCP').on('change', function() {
$('#ClassRegistredDataTable').dataTable().fnDestroy();
GetAllClassbyCampus($('#cmbClassCP :selected').val());
});
},
GetAllClassbyCampus = function (id) {
var oTable = $('#ClassRegistredDataTable').dataTable({
"bJQueryUI": true,
"sPaginationType": "full_numbers",
"bServerSide": true,
"bRetrieve": true,
"bDestroy": true,
"sAjaxSource": "/forms/Setup/Setup.aspx/GetAllClassBycampus?CampusId=" + id,
"fnServerData": function (sSource, aoData, fnCallback) {
$.ajax({
"type": "GET",
"dataType": 'json',
"contentType": "application/json; charset=utf-8",
"url": sSource,
"data": aoData,
"success": function (data) {
fnCallback(data.d);
}
});
},
"aoColumns": [
{
"mDataProp": "RowNo",
"bSearchable": false,
"bSortable": false,
"sWidth": "20"
},
{
"mDataProp": "CampusName",
"bSearchable": false,
"bSortable": false,
},
{
"mDataProp": "ClassName",
"bSearchable": true,
"bSortable": false
},
{
"mDataProp": "Section",
"bSearchable": false,
"bSortable": false
},
{
"mDataProp": "Description",
"bSearchable": false,
"bSortable": false
},
{
"mData": null,
"bSearchable": false,
"bSortable": false,
"fnRender": function (oObj) {
return '<a class="edit" href="">Edit</a>';
}
}
]
});
Moja forma wygląda na Page Load
jak ..
Po DropDown
przypadku zmian, wygląda jak poniżej ..
Any Pomoc ....
'fnDraw()' i 'fnDestroy()' mają taki sam efekt na mojej stronie. –
co się stanie, jeśli pozbędziesz się GetAllClassbyCampus ($ ("# cmbClassCP: selected"). Val()); po fnDraw? –
Myślę, że nie powinieneś próbować inicjować ponownie datatable po tym, jak został już zainicjowany. –