2013-03-07 103 views
2

我使用JSON加載jQuery數據表。傳說中的一個領域是其中的一個領域。 基本上,我想有一個「顯示/隱藏」圖例,而不是具有完整的圖例文本。 我能做什麼?jQuery datatables顯示/隱藏行中的一個字段

謝謝!

更新了一個例子:http://jsfiddle.net/fDavN/5592/

Please check code on jsfiddle (quite long) 
+0

你可以做的第一件事就是告訴我們:你嘗試過什麼(http://mattgemmell.com/2008/12/08/what-已試過/) – 2013-03-07 14:02:43

+0

請提供號碼 – topcat3 2013-03-07 14:02:56

+0

感謝您的回覆!我用這個例子更新了這個問題。基本上現場圖例(每行一個)可能很長,我想添加一個顯示/隱藏功能,但我真的不知道我可以在哪裏「工作」 – Daviddd 2013-03-07 14:14:52

回答

1

如果你想要這個功能添加到每一行,你應該檢查數據表文件: show-hide

在我的項目(服務器端處理)我做它由上aoColumns定義呼叫sDefaultContent(上第一列):

"aoColumns": [ 
    { 
     "mDataProp": null, 
     "sClass": "control center", 
     "sDefaultContent": '<img src="some_image_url">' 
    }, 
    //... 
] 

,並準備一些數據追加到單擊行功能:

$('#datatables_selector').live('click', function() { 
    var nTr = this.parentNode; 
    var i = $.inArray(nTr, anOpen); 
    if (i === -1) { 
     $('img', this).attr('src', "some_image_url"); 
     var nDetailsRow = oTable.fnOpen(nTr, fnFormatDetails(oTable, nTr), 'details'); 
     $('div.innerDetails', nDetailsRow).slideDown(); 
     anOpen.push(nTr); 
    } 
    else { 
     $('img', this).attr('src', "some_image_url"); 
     $('div.innerDetails', $(nTr).next()[0]).slideUp(function() { 
      oTable.fnClose(nTr); 
      anOpen.splice(i, 1); 
     }); 
    } 
}); 
function fnFormatDetails(oTable, nTr){ 
    var oData = oTable.fnGetData(nTr); 
    var sOut = 'some html for input data: <div>, <table> etc'; 
    return sOut; 
} 
+0

謝謝!它解決了我的問題。我很苦惱,因爲天:http://stackoverflow.com/questions/15267790/jquery-datatables-in-qtip2-popup,也許:) – Daviddd 2013-03-14 10:31:20