2012-03-20 66 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