jqgrid: данные за предыдущий месяц не отображаются - PullRequest
0 голосов
/ 08 сентября 2011

Я не знаю, что происходит с моим jqgrid, в первый раз мои данные могут отображаться (все данные, которые уже введены в базу данных).

Но после того, как я попытаюсь ввести формат даты из jquery datepicker, например: datepicker

Я выбираю 08/03/2011, но фактическая дата - 09.09.2011. jqgrid не может отобразить эти данные, но в базе данных они уже введены. Не могли бы вы сказать, почему это произошло?


EDIT

это для страницы ввода:

    <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>

Я просто не могу показать данные, которые не были введены в текущем месяце.

Jqgrid

dounfinish.php

Ответы [ 2 ]

0 голосов
/ 23 сентября 2011

Это работает ....

Я удалил какую-то команду в запросе:

$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 из запроса.

Но яне знаю, почему это работает .. может быть другой читатель может объяснить это.

0 голосов
/ 13 сентября 2011

Большое предположение, но я предполагаю, что вы пытаетесь установить 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;
}
...