Jquery ui jqgrid:无法显示上个月的数据

Jquery ui jqgrid:无法显示上个月的数据,jquery-ui,jqgrid,jquery-ui-datepicker,Jquery Ui,Jqgrid,Jquery Ui Datepicker,我不知道我的jqgrid会发生什么,这是我的数据第一次能够显示所有已经输入数据库的数据 但是,在我尝试从jquery datepicker输入日期格式后,如下所示: 我选择2011年3月8日,但实际日期是2011年9月9日。 jqgrid无法显示该数据,但在数据库中数据已经输入。 你能告诉我为什么会这样吗 编辑 这是用于输入页面的: <script type="text/javascript" language="javascript" src="js/jquery-1.4.2.

我不知道我的jqgrid会发生什么,这是我的数据第一次能够显示所有已经输入数据库的数据

但是,在我尝试从jquery datepicker输入日期格式后,如下所示:

我选择2011年3月8日,但实际日期是2011年9月9日。 jqgrid无法显示该数据,但在数据库中数据已经输入。 你能告诉我为什么会这样吗

编辑

这是用于输入页面的:

    <script type="text/javascript" language="javascript" src="js/jquery-1.4.2.min.js"></script>
    <script type="text/javascript" language="javascript" src="js/jquery-ui-1.8.1.custom.min.js"></script>
    <script type="text/javascript" language="javascript" src="js/jquery.datePicker-2.1.2.js"></script>
    <script type="text/javascript" language="javascript" src="development-bundle/ui/jquery.ui.datepicker.js"></script>

<script>
        $(function() {
                        $(".datepicker").datepicker({ dateFormat:'yy-mm-dd'});
                        });
  </script>

<input type="text" id="datepicker" name="prob_date" class="datepicker">
我只是无法显示当月未输入的数据


我猜这是个很大的猜测,但我猜你是想给你的约会挑肥拣瘦。如果是这样,那么您传递给maxDate的日期可能不正确

以下是我建议在各种浏览器中为maxDate创建一致的日期对象:

HTML:

它起作用了

我在查询中删除了一些命令:

$start = $limit*$page - $limit; // do not put $limit*($page - 1)
$SQL = "SELECT * FROM oqc_defect ORDER BY $sidx $sord /*LIMIT $start , $limit*/";
$result = mysql_query( $SQL ) or die("Couldnt execute query.".mysql_error());
我已禁用查询限制


但是,我不知道为什么它能起作用。也许其他读者可以解释这一点。

您应该包括您使用的代码。最好的是能够重现问题的代码。是jquery还是jqgrid?这是一个非常糟糕的问题。您应该包括您使用的jQuery、jQueryUI和jqGrid的nummer版本。还需要JavaScript文件列表。然后,您应该包括使用jqGrid的JavaScript代码和可用于重现所述问题的日期选择器。
<input name="datetime" class="datetime" type="text" data-maxdatetime="<YOUR MAX DATE FROM DB HERE>" value="<SOME PRE-SELECTED DATETIME>" />
var max_date = $(".datetime").data("maxdatetime");
$(".datetime").datepicker({
  maxDate: parseISO8601(max_date)
});


/**
* http://jibbering.com/faq/#parseDate
* Parses string formatted as YYYY-MM-DD to a Date object.
* If the supplied string does not match the format, an 
* invalid Date (value NaN) is returned.
* @param {string} dateStringInRange format YYYY-MM-DD, with year in
* range of 0000-9999, inclusive.
* @return {Date} Date object representing the string.
*/
function parseISO8601(dateStringInRange) {
  var isoExp = /^\s*(\d{4})-(\d\d)-(\d\d)\s*$/,
      date = new Date(NaN), month,
      parts = isoExp.exec(dateStringInRange);

  if(parts) {
    month = +parts[2];
    date.setFullYear(parts[1], month - 1, parts[3]);
    if(month != date.getMonth() + 1) {
      date.setTime(NaN);
    }
  }
  return date;
}
$start = $limit*$page - $limit; // do not put $limit*($page - 1)
$SQL = "SELECT * FROM oqc_defect ORDER BY $sidx $sord /*LIMIT $start , $limit*/";
$result = mysql_query( $SQL ) or die("Couldnt execute query.".mysql_error());