2012-03-20 63 views
0

我有一个datatables网站,其中包含有关客户订单的信息 - 客户名称,到期日期,客户订单号等。一列用于我组织的工作号。当我双击所需行中的作业编号栏时,会显示另一页 - approval.php。我遇到的问题是将信息从doubleclicked行传递到新页面。数据表 - 传递变量

这里是我的代码:

var oTable 
oTable = $('#runsheet').dataTable({ 
    "sDom": '<"clear"><"H"lfrC>t<"F"i>', 
    "bProcessing": true, 
    "bServerSide": true, 
    "sAjaxSource": "modules/runsheet/runsheet_objects.php", 
    "bJQueryUI": true, 
    "aoColumns": [ 
     { "mDataProp": "Job_No", "sClass": "clicknumber center", "sWidth": "50px" }, 
..... 

后来我有这样的代码,当我这个代码更改

$(".clicknumber").live('dblclick',function(event){ 
    event.preventDefault(); 
    var nTr = this.parentNode.parentNode; 
    var aData = oTable.fnGetData(nTr); 
    window.location = 'approval.php?customer='+ aData.Customer + 'job_no =' + aData.Job_no; 
}) 

这带来了approval.php页面

$(".clicknumber").live('dblclick',function(event){ 
    event.preventDefault(); 
    window.location = 'approval.php'; 
}) 

我在Firebug中得到aData为null。

别处ADATA正在工作,这段代码正确地显示在钻取行项目编号:。

function fnFormatDetails (nTr) { 
var aData = oTable.fnGetData(nTr); 
var sOut = '<div class="innerDetails">'; 
sOut += '<table cellpadding="5" cellspacing="0" border="0" style="padding-left:50px;">'; 
sOut += '<tr><td>Job No:</td><td>'+aData.Job_No+'</td></tr>'; 
sOut += '</table>'; 
sOut += '</div>';   
return sOut; } 

有人可以帮我解决了$(“点击次数”)生活(‘DBLCLICK’ 。,函数(事件)代码

非常感谢,Bandan88

+0

你可以发布'oTable.fnGetData'方法的代码吗?看来这可能是罪魁祸首。另外,当你说'aData'是“null”时,你的意思是'null'还是'undefined'? – 2012-03-20 22:35:48

+0

谢谢musicfreak, – bandan88 2012-03-21 01:08:53

+0

谢谢musicfreak, 我正在使用datatables 1.8.2和fnGetData是在该js文件,行1896中列出。它是下一个消息。至于null,Firebug声明“null”,而不是未定义的。 – bandan88 2012-03-21 01:14:59

回答

0

DataTables v 1.10.8 +具有内置函数row().id()用于检索行标识。

如果指定一个类你行:

<tr class="clickable" id="1"> 

可以绑定一个click事件,并得到行ID:

var dt = $('table').DataTable(); 

$('.clickable').on('click', function() { 
    var id = dt.row(this).id(); 
    console.log('You clicked on rowId ' + id); 
}); 

这里是一个Fiddle Demo