2012-03-20 1 views
0

У меня есть сайт с данными, который содержит информацию о заказах клиентов - имя клиента, сроки, номер заказа клиента и т. Д. Один столбец для номера моей организации. Когда я дважды нажимаю на столбец номер задания в нужной строке, отображается другая страница - утверждение.php. Проблема, с которой я сталкиваюсь, - передать информацию из строки с двойным щелчком на новую страницу.Datatables - передающие переменные

Вот мой код:

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; 
}) 

Я получаю aData null в Firebug.

В других 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») жить („DblClick“ .., функция (событие) код

Большое спасибо, Bandan88

+0

Не могли бы вы выслать код метода 'oTable.fnGetData'? Похоже, это может быть преступником. Кроме того, когда вы говорите, что 'aData' равно« null », вы имеете в виду буквально« null »или« undefined »? –

+0

Thanks musicfreak, – bandan88

+0

Thanks musicfreak, Я использую datatables 1.8.2, а fnGetData указан в файле js, строки 1896. Это следующее сообщение. Что касается null, Firebug утверждает «null», а не undefined. – bandan88

ответ

0

DataTables v 1.10.8 + имеет встроенную функцию row().id() для извлечения идентификатора строки.

Если присвоить класс для ваших строк:

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

Вы можете связать событие щелчка и получить идентификатор строки:

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

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

Вот Fiddle Demo.