如何在数据表中添加新行

How to add new row in a DataTable

本文关键字:添加 新行 数据表      更新时间:2023-09-26

我有一个DataTable在我的js文件。

function getStudentDetail(id) {
//id is set globally
  var oTableStudentDetails = $('#student_detail').DataTable({}); 
   $('#btn-add-row').on( 'click', function () {
    oTableStudentDetails.row.add([' ',' ',' ',' ',' ']).draw();
   } );
  }   

使用这个,我可以添加新的行在"$('#student_detail').DataTable({});"datatable

我必须从DB中获取一些数据,我确实在数据表中得到了它。但在那之后,我不能在数据表中添加新的行,就像之前一样。

function getStudentDetail(id) {
//id is set globally
var oTableStudentDetails = $('#student_detail').DataTable({
    "bProcessing":  true,
    "bServerSide":  true,
    "bDestroy": true,
    "bLengthChange": false,
    "dataType": "json",
    "ajax": {
        "url": url_prefix + "/getStudentDetail",
        "data": function(d) {
            d.idstudent = id;
         }
      }
   });
 $('#btn-add-row').on( 'click', function () {
    oTableStudentDetails.row.add([' ',' ',' ',' ',' ']).draw(); //this is not working  
                                                                  after using ajax 
                                                                  value in DataTable 
   } );
  }  

当我尝试添加新行时,我看到"处理",但我无法添加新的空行。我做错了什么?有人能帮忙吗?

服务器端的结果如下所示

 {"aaData": [["1", "roshi", "sssss", "xxxxxxxxxxx", "xxxxxxxxxxx"]], "iTotalRecords": 1, "sEcho": 99, "iTotalDisplayRecords": 1}
有谁能帮我一下吗?一切似乎都很好。但是为什么我不能添加一个新的呢?

我认为您可能需要在添加行后呈现表。它看起来像你得到的数据,但不是"重绘"表,所以说。

我使用jQuery模板库来做到这一点。您需要编写类似这样的内容:

$('page').tmpl(studentTable).appendTo($(page).find('#yourTable tbody'));

这可能是错误的,但也许它会给你一个开始的地方?我对JQuery和JS比较陌生。