2012-02-03 2 views
1

Я использую jQuery DataTables с установленным плагином jEditable. У меня все работает правильно, таблица отображает и правильно извлекает данные. Таблица доступна для редактирования, и скрипт корректно обновляет БД. Единственная проблема заключается в том, что значение обновляется, тогда ячейка пуста, пока вы не нажмете обновление, а новое значение будет видимым.jEditable & DataTables - Таблица не обновляется при обновлении

Я попытался включить fnDraw в обратный вызов, чтобы он перерисовал таблицу, но я не могу понять это? Единственное, что мне не хватает, - это динамически обновить таблицу после того, как новое значение будет записано в БД.

Вот мой код:

<script> 
$(document).ready(function() { 
/* Init DataTables */ 
var oTable = $('#district').dataTable(); 

/* Apply the jEditable handlers to the table */ 
$('#district', oTable.fnGetNodes()).editable('lib/editable_ajax.php', { 
    tooltip : 'Click cell to edit value...', 
    indicator : 'Saving...', 
    style : 'display:block;', 
    submit : 'OK', 
    cancel : 'Cancel', 
    data : " {'PDC 30':'PDC 30','PDC 14':'PDC 14','PDC 81':'PDC 81','PDC 58':'PDC 58'}", 
    type : 'select', 
    "Callback": function(sValue, x) { 
     var aPos = oTable.fnGetPosition(this); 
     oTable.fnUpdate(sValue, aPos[0], aPos[1]); 

     /* Redraw the table from the new data on the server */ 
     oTable.fnClearTable(0); 
     oTable.fnDraw(); 
    }, 
    "submitdata": function (value, settings) { 
     var aPos2 = oTable.fnGetPosition(this); 
     var id2 = oTable.fnGetData(aPos2[0]); 
     return { 
      "row_id": this.parentNode.getAttribute('id'), 
      "id2": id2[0], 
      "column": oTable.fnGetPosition(this)[ 2 ]   
     }; 
    }, 
    "height": "14px", 
}); 
}); 
</script> 

ответ

0

попытка инициализации переменной OTABLE вне функции и увидеть, хотя это не должно иметь никакого значения, как ваш код выглядит нормально.