带有jquery选项卡和jqgrid的Jquery datepicker问题

我的JSP页面有标签。 每个选项卡都加载一个jqgrid(在所有三个选项卡中加载相同的JSP)。 我在jqgrid中有一个filter,而日期字段我正在使用一个datepicker。

日期选择器在第一个选项卡中工作正常但是当我尝试在其他选项卡中的datepicker中点击“上一个”/“下一个”时,它会跳到1900年。请参阅下面的图片:

日期选择器在第一个选项卡中按预期工作: 在此处输入图像描述

在第二个标签中点击prev时,日期选择器跳至1899: 在此处输入图像描述

我尝试在jquery-ui-1.10.0.custom.js中调试代码

/* Adjust one of the date sub-fields. */ _adjustDate: function(id, offset, period) { var target = $(id), inst = this._getInst(target[0]); console.dir(inst); if (this._isDisabledDatepicker(target[0])) { return; } this._adjustInstDate(inst, offset + (period === "M" ? this._get(inst, "showCurrentAtPos") : 0), // undo positioning period); this._updateDatepicker(inst); }, 

我得到了以下两种情况的输出:

第一个标签:

 LOG: { id : "gs_vpReportDate", input : [object Object], selectedDay : 20, selectedMonth : 10, selectedYear : 2013, drawMonth : 10, drawYear : 2013, inline : false, dpDiv : [object Object], settings : [object Object], append : [object Object], trigger : [object Object], lastVal : "", currentDay : 0, currentMonth : 0, currentYear : 0, yearshtml : null, _keyEvent : false } 

第二个标签:

 LOG: { id : "gs_vpReportDate", input : [object Object], selectedDay : 0, selectedMonth : 0, selectedYear : 0, drawMonth : 0, drawYear : 0, inline : false, dpDiv : [object Object], settings : [object Object], append : [object Object], trigger : [object Object] } 

任何想法为什么这种奇怪的行为?

附加信息:动态分配ID。

下面是我的jqgrid列:

 { name: 'vpReportDate', index: 'vpReportDate',datefmt:"m/d/Y", sorttype:"date", width: 65, searchoptions:{dataInit:showDatePicker}, sortable:true } function showDatePicker(elem) { $(elem).datepicker({dateFormat:'mm/dd/yy', changeYear: true, changeMonth: true}).change(function() { $("#dasWorkQueueGrid_" + activeTabId)[0].triggerToolbar(); }); }; 

我找到了解决问题的方法。 问题的根本原因是,在第二个选项卡的点击上加载了何时网格,第一个网格已经存在于DOM中,这导致了所有问题。 所以我在加载网格之前做了什么我正在调用gridDestroy来销毁DOM中存在的所有网格 –

 $("[id^=dasWorkQueueGrid_]").jqGrid('GridDestroy'); 
  • 我在jquery选择器中使用通配符来识别所有网格。

然后加载网格:

 $("#dasWorkQueueGrid_" + activeTabId).jqGrid({ *** Grid Code *** });