我一直在使用jQuery数据表,并且在具有一个表的页面上,以下代码可以正常工作,但在一个页面上我使用制表符并且它们每个都有数据表。他们的设计是用
设置的var oTable = $('.dataTable').dataTable({....})
我遇到的问题是当我去尝试删除第一个表之外的表中的行时。每行作为class = delete的链接,所以我有一个像这样的javascript
$('.delete').click(function(e) {
e.preventDefault();
row = $(this).closest("tr").get(0);
oTable.fnDeleteRow(oTable.fnGetPosition(row));
});
当我尝试从第二个表中删除一行时,例如它检索row =类似于2并删除第一个表中的相应行。
我无法想出一种识别确切oTable的方法。我尝试为每个数据表分配一个数字ID并在click函数中检索它并像这样识别oTable
<table class="table dataTable repsonsive" id="4">
$('.delete').click(function(e) {
e.preventDefault();
table = $(this).closest("table").attr('id');
row = $(this).closest("tr").get(0);
oTable[table].fnDeleteRow(oTable[table].fnGetPosition(row));
});
我猜oTable不像收集那样工作。有什么建议吗?
答案 0 :(得分:0)
这就是我将数据从一个数据表传递到另一个数据表的方式(我使用jquery 1.9) 我将oTable指定为全局javascript变量,然后将我的表数据指定为在doc ready
中声明的对象var oTable;
$(document).ready(function() {
var passData ={};
$(document).on("click", "#example tbody tr", function(){
var aPos = oTable.fnGetPosition(this);
passData = oTable.fnGetData(aPos);
});
在点击了行之后,现在可以在我的其他doc ready事件声明中使用passData
$('#someDiv').on('click', function(){
someFunction(passData);
});
对于您的问题,我假设每行都有一个删除按钮,我想将位置设置为变量aPos,全局到文档就绪,然后执行删除功能
var oTable;
$(document).ready(function() {
var passData ={};
var aPos;
$(document).on("click", ".delete", function(){
aPos = oTable.fnGetPosition(this);
oTable.fnDeleteRow(oTable.fnGetPosition(aPos));
return false;
});
});
如果您遇到不知道哪个表是哪个表的问题,请将它们定义为不同的变量名称
var oTable, xTable, yTable, zTable;
然后根据需要调用函数