jQuery数据表显示/隐藏行中的一个字段

时间:2013-03-07 14:00:46

标签: jquery datatables

我使用JSON加载jQuery数据表。连续的一个字段是图例。 基本上,我希望有一个“显示/隐藏”图例而不是完整的图例文本。 我能做什么?

谢谢!

更新了示例:http://jsfiddle.net/fDavN/5592/

Please check code on jsfiddle (quite long)

1 个答案:

答案 0 :(得分:1)

如果要将此功能添加到每一行,则应检查数据表文档: show-hide

在我的项目(服务器端处理)中,我在sDefaultContent定义上通过调用aoColumns(在第一列)进行了操作:

"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;
}