2

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

谢谢!

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

Please check code on jsfiddle (quite long)
4

1 回答 1

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;
}
于 2013-03-08T08:36:26.823 回答