2013-03-01 4 views
0

У меня есть код, который я пытаюсь сделать работу ти JQuery

$('#example tbody td img').live('click', function() { 
    var nTr = $(this).parents('tr')[0]; 
    if (oTable.fnIsOpen(nTr)) { /* This row is already open - close it */ 
     this.src = "../compartilhados/img/details_open.png"; 
     oTable.fnClose(nTr); 
    } else { /* Open this row */ 
     this.src = "../compartilhados/img/details_close.png"; 
     oTable.fnOpen(nTr, fnFormatDetails(oTable, nTr), 'details ui-corner-all'); 
    } 
}); 

функциональных fnFormatDetails, используемых для возврата строки, но я изменил его вернуть отклика $ .ajax:

function fnFormatDetails(oTable, nTr) { 
     var aData = oTable.fnGetData(nTr); 
     var parametros = { 
      NumPA: aData[8] 
     }; 
     var parametros = jQuery.param(parametros); 
     $.ajax({ 
      type: "POST", 
      url: "consultarProvidencias.asp", 
      data: parametros 
     }).done(function x(sOut) { 
     return sOut; 
     }); 
    } 

и sOut - это код мира html, как строка. Я не знаю, что происходит, потому что sOut не загружается на oTable.fnOpen (первый код). Это должна быть загрузка деталей строки, как показано на рисунке here.

Я оценил любую помощь.

+0

МОГ вы не хотите просматривать данные в jQuery Datatable (http://stackoverflow.com/questions/39998706/cannot-list-details-data-in-jquery-datatable)? Спасибо заранее ... –

ответ

3

Вы должны изменить свои функции fnFormatDetails вернуть ответ вызова Ajax, как это:

function fnFormatDetails(oTable, nTr) { 
     var aData = oTable.fnGetData(nTr); 
     var parametros = { 
      NumPA: aData[8] 
     }; 
     var parametros = jQuery.param(parametros); 
     return $.ajax({ 
      type: "POST", 
      url: "consultarProvidencias.asp", 
      data: parametros 
     }); 
    } 

После этого вы изменить путь вы призывающую эту функцию:

var data = fnFormatDetails(oTable, nTr); 
$.when(data).then(function(theData) { 
    oTable.fnOpen(nTr, theData, 'details ui-corner-all'); 
}); 
+0

VinTem, большое вам спасибо! Для меня это было совершенно очевидно! –

+0

@vintem Не могли бы вы пелой взглянуть на [Невозможно перечислить данные в jQuery Datatable] (http://stackoverflow.com/questions/39998706/cannot-list-details-data-in-jquery-datatable)? Заранее спасибо... –

Смежные вопросы