我不知道我的jqgrid会发生什么,我的数据第一次可以显示(所有已输入数据库的数据)。
但是,在我尝试从jquery datepicker输入日期格式之后:
我选择08/03/2011但实际日期是09/09/2011。 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">
我收到了一个下载的文件夹jqgrid_demo38
并为显示页面(使用jqgrid):
<link rel="stylesheet" type="text/css" media="screen" href="jqGrid/css/ui.jqgrid.css" />
<link rel="stylesheet" type="text/css" media="screen" href="jqGrid/plugins/ui.multiselect.css" />
<script src="jqGrid/js/i18n/grid.locale-en.js" type="text/javascript"></script>
<script src="jqGrid/js/jquery.jqGrid.min.js" type="text/javascript"></script>
<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>
我只是无法显示当月没有输入的数据。
答案 0 :(得分:0)
在这里猜猜,但我猜你正试图在你的日期选择器上设置一个maxDate。如果是这样,那么你传递给maxDate的日期可能不正确。
我建议在各种浏览器中为maxDate创建一致的日期对象:
<强> HTML:强>
<input name="datetime" class="datetime" type="text" data-maxdatetime="<YOUR MAX DATE FROM DB HERE>" value="<SOME PRE-SELECTED DATETIME>" />
<强> JS:强>
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;
}
答案 1 :(得分:0)
它有效......
我在查询中删除了一些命令:
$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());
我从查询中被禁用LIMIT
。
但是,我不知道为什么它可行。可能是另一位读者可以解释这一点。