1

私のデータテーブルは、ほぼ 5 ページでデータをロードします。最初のページの非表示の列にアクセスできます。しかし、次のページの行をクリックすると、クリック イベントがキャッチされません。これが私のコードです:

$(document).ready(function () {
    $("#dataobjects").dataTable({
        "sPaginationType": "full_numbers",
        "bJQueryUI": true,
        "aoColumns": [ 
                    /* Client */   null,
                    /* Check */  null,
                    /* Desc */    null,
                    /* System Use(in %) */   null,
                    /* Valid */  null,
                    /* Result */    null,
                    /* TimeStamp */    null,
                    /* Facts */ { "bSearchable": false,
                                     "bVisible":    false },

                ]
    });

    oTable = $('#dataobjects').dataTable( );


    $("#dataobjects tbody tr").click( function( e ) {

        if ( $(this).hasClass('row_selected') ) {
            $(this).removeClass('row_selected');
        } else {
            oTable.$('tr.row_selected').removeClass('row_selected');
            $(this).addClass('row_selected');

            // Get the data from the selected row
            var fid= oTable.fnGetData( this, 7 );
            alert("Output: " + fid);
        }
    });
4

1 に答える 1

2

次のページに到達するまで、tr 要素は存在しません。テーブル要素でイベント委任を使用してみてください:

$("#dataobjects").on('click', 'tbody tr', function( e ) {

    if ( $(this).hasClass('row_selected') ) {
        $(this).removeClass('row_selected');
    } else {
        oTable.$('tr.row_selected').removeClass('row_selected');
        $(this).addClass('row_selected');

        // Get the data from the selected row
        var fid= oTable.fnGetData( this, 7 );
        alert("Output: " + fid);
    }
});
于 2013-06-22T06:21:13.653 に答える