1
我使用jqGrid單元格編輯和日期選擇器。除非由於某些奇怪的事件處理,否則一切運作良好,否則可能會導致用戶數據丟失。選擇單元格並設置其日期時,文本將放回可編輯單元格中,但不會將其傳回服務器,除非發生某些導航,或者在設置日期時按下回車鍵。這意味着,如果用戶只是輸入數據,並且他們不做這些額外的東西(關於哪些沒有反饋),編輯的值被保持在不靈活的狀態。jqGrid與日期選擇器不能安全地存儲數據
顯而易見的解決方案是在datepicker上使用onClose。這被調用,但似乎沒有辦法將數據寫入服務器。我試過使用saveCell,但是這會在寫入數據後打開單元格文本編輯器,所以如果數據無法正確寫入,則會給出一切正常的印象。我也嘗試過editCell,但似乎無限遞歸,或創建某種循環。我也試着編造一個的keydown如下:
colModel :[
...
{name:'date', index:'date', width:100, editable: true,
editoptions: {
size: 10, maxlength: 10,
dataInit: function(elem){
setTimeout(function(){
$(elem).datepicker({
onClose: function(dateText, inst) {
var e = jQuery.Event("keydown");
e.which = 13;
$(elem).trigger(e);
}
...
我仍然得到與jQuery和jqGrid的交手,所以任何建議將是非常歡迎的。
經過測試,以及一些變化(即使用keydown而不是按鍵)。這確實看起來很合理,但沒有喜悅。 – morungos 2011-04-25 17:36:20
@morungos:你能更準確地描述**什麼是錯誤的?我沒有任何當前的遠程保存數據和單元格編輯演示,所以我不能重現您的問題。我個人只使用內聯或/和表單編輯將數據保存在服務器上。 – Oleg 2011-04-25 17:59:22
問題是這樣的:當單元格的datepicker關閉時,如何強制數據刷新到服務器。在這個階段,我們有一個有效的日期,它是完整的,所以它是有道理的。 – morungos 2011-04-25 18:04:41