我有一个数据表网站,其中包含有关客户订单的信息 - 客户名称,截止日期,客户订单号等。一列是我的组织的工作号码。当我双击所需行中的作业编号列时,会显示另一个页面 - approval.php。我遇到的问题是将信息从双击行传递到新页面。
这是我的代码:
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" },
.....
稍后我会使用此代码调出approval.php页面
$(".clicknumber").live('dblclick',function(event){
event.preventDefault();
window.location = 'approval.php';
})
当我将此代码更改为
时 $(".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;
})
我在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; }
有人可以帮我修理$(“。clicknumber”)。live('dblclick',函数(事件)代码。
非常感谢,Bandan88
答案 0 :(得分:0)
解决了它。我用过这个:
var nTr = this.parentnode.
感谢Greg,Bandan88
答案 1 :(得分:0)
DataTables v 1.10.8 +有一个内置函数row().id(),用于检索行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。