[英]jQuery DataTables default column value
我試圖在jQuery數據表中包含一個不可見的列,該列可以設置為默認true
來代替在數據源中遇到的null或未定義。
假設我正在使用6列的DataTable。 前5列可見。 第六列設置為不可見。 而且,無論數據源對象是否具有對應的密鑰,它都必須包含true或false。 在DataTable的列定義中,我嘗試了此操作,但是沒有用。
{ "defaultContent": true, "data": "existing", "visible": false }
根據API,我認為defaultContent
僅在data
為null時有效。 也許這就是為什么它不起作用。 我提供了用於初始化DataTable的HTML,JS數據和JS代碼。 請注意,一旦加載並渲染了DataTable,我就會動態添加一行並重新繪制。 該行的數據包含第6列屬性,可以對其進行設置。
HTML:
<div id="demo">
</div>
JavaScript(數據初始化):
var dataSet = [
{'engine':'Webkit','browser':'Safari 1.2','platform':'OSX.3','version':'125.5','grade':'A'},
{'engine':'Other browsers','browser':'All others','platform':'-','version':'-','grade':'U'}
];
JavaScript(數據表的創建和初始化):
$('#demo').html('<table class="display" id="example"></table>');
$('#example').dataTable( {
"data": dataSet,
"columns": [
{ "sortable" : false, "data": null, "defaultContent": "<button>Select</button>", "title" : "Choose"
},
{ "title": "Engine", "data": "engine" },
{ "title": "Browser", "data": "browser" },
{ "title": "Platform", "data": "platform" },
{ "title": "Version", "data": "version", "class": "center" },
{ "title": "Grade", "data": "grade", "class": "center" },
{ "defaultContent": true, "data": "existing", "visible": false }
],
initComplete: function(oSettings, json) {
console.log('drawing complete');
if (oSettings.fnRecordsTotal() > 1) {
$('#example').DataTable().row.add({
'engine' : 'Presto',
'browser' : 'Opera 7.5',
'platform' : 'Win 95+ / OSX.2+',
'version' : '-',
'grade' : 'A',
'existing' : false
}).draw();
}
}
} );
這是上述示例的JSFiddle 。 如果單擊前兩行中的“選擇”按鈕,它將返回undefined
。 第三行上的“選擇”按鈕產生false
。 我希望前兩行的“選擇”按鈕產生true
。
如果數據集對象中沒有鍵/值,如何為第六列(不可見)設置默認值?
因為它返回undefined existing
不存在dataSet
。 dataSet
是靜態的, defaultContent
不會將其值填充到原始dataSet
。 您真正想要的是隱藏列的值,該列將包含defaultContent
或動態添加的existing
值。
var row = $('#example').DataTable().row( $(this).parents('tr') ),
index = row.index(),
data = row.cell(index, 6).data();
alert(data);
將返回true
, true
和false
。 分叉的小提琴-> http://jsfiddle.net/vsx7uxnf/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.