数据表1.10.4删除不起作用 [英] datatable 1.10.4 delete not working

查看:108
本文介绍了数据表1.10.4删除不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经准备好了页面上带有json数据的数据表.现在单击事件,我想更改表数据.当我使用delete()时,会引发错误,提示"undefuned style",并且表对象仍然可以在页面中看到. 这是代码:

I have initialised a datatable with json data on page ready. Now on click event i want to change the table data. When i use the delete(), error is thrown saying 'undefuned style' and the table object can still be seen in the page. Here is the code:

** JS:**

function createTable(obj){

var myTableDiv = document.getElementById("populate_table");
var table = document.createElement('TABLE');
table.id='dynamictable';

var header = table.createTHead();
var row = header.insertRow(0);
var cell = row.insertCell(0);
 cell1 = row.insertCell(1);
 cell2 = row.insertCell(2);
 cell3 = row.insertCell(3);
 cell4 = row.insertCell(4);
 cell5 = row.insertCell(5);
 cell6 = row.insertCell(6);
 cell7 = row.insertCell(7);
 cell8 = row.insertCell(8);

cell.innerHTML = "<b>Title</b>";
cell1.innerHTML = "<b>Qualificatoin</b>";
cell2.innerHTML = "<b>Salary</b>";
cell3.innerHTML = "<b>Company Name</b>";
cell4.innerHTML = "<b>Tags</b>";
cell5.innerHTML = "<b>Location</b>";
cell6.innerHTML = "<b>Experience</b>";
cell7.innerHTML = "<b>About Company</b>";
cell8.innerHTML = "<b>Apply Here</b>";

var tableBody = document.createElement('TBODY');
table.appendChild(tableBody);
console.log("json length : "+obj.length);

for (var i=0; i<obj.length; i++){
/*var tr = document.createElement('TR');
tableBody.appendChild(tr);

   var td = document.createElement('TD');
   //td.width='75';
   td.appendChild(document.createTextNode("Cell " + i + "," + j));
   tr.appendChild(td);*/
var btn = document.createElement("BUTTON");
var t = document.createTextNode("CLICK ME");
btn.appendChild(t);
btn.id='apply-button';

var input = document.createElement("input");
input.setAttribute("id",obj.firstName);
input.setAttribute("type", "hidden");
input.setAttribute("name", "jobID");
input.setAttribute("value", obj.firstName);

   var rowCount = tableBody.getElementsByTagName("tr").length;

var row1 = tableBody.insertRow(rowCount);
row1.id="x";

 var rowcell0=row1.insertCell(0);
 var rowcell1=row1.insertCell(1);
 var rowcell2=row1.insertCell(2);
 var rowcell3=row1.insertCell(3);
 var rowcell4=row1.insertCell(4);
 rowcell4.id='doit';
 var rowcell5=row1.insertCell(5);
 var rowcell6=row1.insertCell(6);
 var rowcell7=row1.insertCell(7);
 var rowcell8=row1.insertCell(8);
 var rowcell9=row1.insertCell(9);

rowcell0.innerHTML= obj[i].title;
rowcell1.innerHTML= obj[i].qualification;
rowcell2.innerHTML= obj[i].salary;
rowcell3.innerHTML=obj[i].companyName;
rowcell4.innerHTML=obj[i].tags;
rowcell5.innerHTML=obj[i].location;
rowcell6.innerHTML=obj[i].experience;
rowcell7.innerHTML=obj[i].aboutCompany;
//rowcell8.innerHTML=obj[i].firstName;
rowcell9.innerHTML=obj[i].jobID;
//document.getElementById("doit").appendChild(btn);
}if(data_table==="flag"){ myTableDiv.appendChild(table); 

data_table=$('#dynamictable').DataTable({
      "paging" : true,
      "ordering" : true,
      "info"  : false,
      "searching" : true,
      "bDestroy" : true,
      "columnDefs": [
        {
            "targets": [ 9 ],
            "visible": false,
            "searchable": false
        },{
        "targets": 8,
        "data": null,
        "defaultContent": "<button>Apply</button>"
    }
     ]
    });
}
else{
        data_table.destroy();
     //     $('#dynamictable').empty();
}

    $('#dynamictable tbody').on( 'click', 'button', function () {
    var data = data_table.row( $(this).parents('tr') ).data();
    var formData=data[9];
    console.log("The data : "+data[9]);
     $.ajax({
            type : "GET",
            url : "apply",
            data:"jobID="+formData,
            dataType : "text",
            async: true,
            success : function(response) {

                console.log("The response : "+response);
            }
        });
     });
};});

推荐答案

对于dataTables,我不使用delete().这是删除所选行时使用的代码:

For dataTables I don't use delete(). This is the code that I use when deleting a selected row:

$("#delete_button").on('click', function(data) {
     data_table.row('.active').remove().draw(false);
});

这篇关于数据表1.10.4删除不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆