Как изменить мой сценарий, чтобы добавить функцию обратного вызова строки в таблицах базы данных

Dec 04 2020

Я был бы признателен за любую помощь в изменении моего сценария для добавления функции обратного вызова строки в таблицах базы данных.

Используя таблицы данных, я хочу показать номер строки. Я нашел код, предоставленный @Pehmolelu, в ответ на аналогичный вопрос, но это моя самая первая попытка с базами данных и javascript. Я недостаточно знаю синтаксис, чтобы собрать их воедино. Скрипт, который я сейчас использую:

<script> type="text/javascript">
                
          $(document).ready(function(){ $('table').DataTable({          
                   searching:true, 
                   ordering:false,
                   paging:true,
    "bLengthChange": false,
                   lengthMenu:[31], 
 
                })
            });
</script>

Вот что, я думаю, покажет номер строки, предоставленный @Pehmolelu:

var index = iDisplayIndex +1;
$('td:eq(0)',nRow).html(index);
return nRow;

И я знаю, что для этого нужно добавить:

"fnRowCallback": function( nRow, aData, iDisplayIndex )

Я также пробовал этот код, но этот код показывает номер строки для каждой строки, поэтому, если есть сто строк, он будет отображать 1-100. Я хочу, чтобы он работал с разбивкой на страницы. Итак, если установить 20 строк на страницу, каждая страница будет отображать строки 1-20.

$(document).ready(function() {
    var t = $('table').DataTable( {
        "columnDefs": [ {
        
            "searchable": false,
            "orderable": false,
            "targets": 0
        } ],
        "order": [[ 1, 'asc' ]]
    } );
 
    t.on( 'order.dt search.dt', function () {
        t.column(0, {search:'applied', order:'applied'}).nodes().each( function (cell, i) {
            cell.innerHTML = i+1;
        } );
    } ).draw();
} );

Я знаю, что это очень просто, но я был бы очень признателен за любую помощь. благодаря

Ответы

Noname Dec 05 2020 at 19:53

В случае, если это поможет кому-то еще и изучению информации от @Pirate, вот что я обнаружил, работает.

<script> type="text/javascript">
                
$(document).ready(function(){ $('#table').DataTable({
                    
                   searching:true, 
                   ordering:false,
                   paging:true,
                   "bLengthChange": false,
                   lengthMenu:[31], 
                "fnRowCallback": function (nRow, aData, iDisplayIndex) {
 var index = iDisplayIndex +1;
$('td:eq(0)',nRow).html(index);
return nRow;
}   

                });
                
            });

</script>