1
我是Datatable的新手,正在嘗試配置Datatable,以便它使用ajax獲取數據,將其顯示爲複選框,錨點和選項卡,並允許用戶把它分類。 我有ajax和格式化部分,但是當我嘗試對複選框進行排序時,它什麼都不做。我擡起頭來documented example並採取了排序處理如此:使用Ajax數據源時的數據表排序
代碼進行排序:
/* Create an array with the values of all the checkboxes in a column */
$.fn.dataTableExt.afnSortData['dom-checkbox'] = function (oSettings, iColumn) {
var aData = [];
$('td:eq(' + iColumn + ') input', oSettings.oApi._fnGetTrNodes(oSettings)).each(function() {
aData.push(this.checked == true ? "1" : "0");
});
return aData;
}
代碼創建的複選框:
$('#example').dataTable({
"bProcessing": true,
"sAjaxSource": "sources/myData.json",
"sAjaxDataProp": "items",
"aoColumns": [
{
"mData": function (source, type, val) {
if (source.Published)
return '<input type="checkbox" checked="checked"/>';
else
return '<input type="checkbox" />';
},
//"sType": "dom-checkbox",
"sSortDataType": "dom-checkbox"
//, "bSortable": false
},
{ "mData": "Author" },
{
"mData": function (source, type, val) {
return '<a href="' + source.Href + '">' + source.$name + '</a>';
}
}
]
});
排序功能($.fn.dataTableExt.afnSortData['dom-checkbox']
被調用,數據被返回,但是表格沒有被更新(代碼工作,但不是用於ajax表格)
數據樣本:
{
"items": [
{
"$name": "a",
"Href": "http://google.com",
"Author": "a",
"Published": true
},
{
"$name": "c",
"Href": "http://www.whiskas.at/",
"Author": "a",
"Published": false
}
]
}
不,這並沒有解決它。 th $ .fn.dataTableExt.afnSortData ['dom-checkbox']似乎沒有被稱爲 – Stefan
你可以上傳一個JSfiddle,我可以玩它來幫助它工作嗎? –
問題是,我不知道如何加載數據在jFiddle – Stefan