如何在DataTable中添加新行

时间:2014-08-19 14:41:43

标签: javascript jquery datatable

我的js文件中有DataTable。

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

使用此功能,我可以在"中添加新行。 $('#student_detail&#39)。数据表({}); "数据表

我必须从数据库中获取一些数据,我确实在DataTable中获取了它。但之后,我无法像之前一样在dataTable中添加新行。

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

当我尝试添加新行时,我看到" Processing"但我无法添加新的空行。我究竟做错了什么。任何人都可以提供帮助。

服务器端的结果如下所示

 {"aaData": [["1", "roshi", "sssss", "xxxxxxxxxxx", "xxxxxxxxxxx"]], "iTotalRecords": 1, "sEcho": 99, "iTotalDisplayRecords": 1}

任何人都可以帮助我。一切似乎都很好。但为什么我不能添加新的?

1 个答案:

答案 0 :(得分:0)

我认为您可能需要在添加行后呈现表格。看起来你正在获取数据,但不能“重绘”表格。

我使用jQuery模板库来做到这一点。你需要写一些类似的东西:

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

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