2012-02-03 57 views
1

我在安裝jEditable插件時使用jQuery DataTables。我有一切正常工作,表格呈現並正確拉取數據。該表是可編輯的,腳本正確更新後端數據庫。唯一的問題是值得到更新,然後單元格爲空,直到你刷新,然後新的值是可見的。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功能外,看到,儘管這不應該使任何區別爲你的代碼看起來不錯。