Jquery DatePicker код не работает (установить конкретную дату по умолчанию) - PullRequest
2 голосов
/ 07 мая 2011

Я пытаюсь установить дату для конкретной даты при загрузке страницы, поэтому я пытаюсь этот код:

    <script type="text/javascript">


    $(document).ready(function() { 

  var queryDate = new Date();
queryDate.setFullYear(2009,11,01);
$('#date').datepicker({defaultDate: queryDate});


$("input[type='submit']").click(function(e) {
            e.preventDefault();
            $.post("s.php", $("form").serializeArray(), function(message) {
                window.location="v.php" 
            });
        });
    });

</script>

//The form part where is displays the datepicker:

<form action="#" method="POST">
<div data-role="fieldcontain">
<label for="date">Date:</label>
<input type="date" name="date" id="date" value=""  />
<input type="submit" value="submit" />
 </div>     
</form>

Проблема в том, что ничего не меняется ... по умолчанию все еще текущая дата: o /

Любые идеи кто-нибудь, пожалуйста?

ОБНОВЛЕНИЕ: Попробовал этот код:

var queryDate = new Date(2009,11,01);
$('#date').datepicker({defaultDate: queryDate});
$('#date').val(queryDate);

И дата появляется в поле ввода, но календарь неправильный месяц и дата ... Двигаясь вперед, но все еще не работает.

Ответы [ 5 ]

2 голосов
/ 07 мая 2011

Я не уверен, что предложенный ответ здесь не работает.Как я уже проверял, на дисплее отображаются правильные месяц и год, но только не выделяется дата.Это может быть связано с тем, что формат даты.

Попробуйте добавить этот код, чтобы иметь значение по умолчанию для вашей даты.

$('#date').val(queryDate);

Тогда вы можете увидеть, что формат отличается от даты в дате-picker.Если вам удастся установить правильный формат с помощью средства выбора даты, вы получите то, что хотели.

1 голос
/ 07 мая 2011

Попробуйте это

  var queryDate = new Date(2009,11,01);<br/>
  $('#date').datepicker({defaultDate: queryDate});
1 голос
/ 07 мая 2011

Хм, а если вы попробовали это

новая дата (год, месяц, день, часы, минуты, секунды, миллисекунды)

var queryDate = new Date();
queryDate.setFullYear(2009,11,01);
$('#date').datepicker({defaultDate: queryDate});

Тогда средство выбора даты знает свой объект даты и как с ним обращаться.


EDIT Хорошо, все, что я сделал, это скопировал код в точности так, как вы получили здесь несколько постов с тем же предложением, и код, который вы редактировали. Добавлены теги - встроенный jquery и jquery ui .. Не вижу проблем - дата дефолта - 2009 год.

</head>
<script src="jquery.min.js" type="text/javascript"></script>
<script src="jquery-ui.min.js" type="text/javascript"></script>

<script type="text/javascript">
$(document).ready(function() { 
var queryDate = new Date();
queryDate.setFullYear(2009,11,01);
$('#date').datepicker({defaultDate: queryDate});

$("input[type='submit']").click(function(e) {
        e.preventDefault();
        $.post("s.php", $("form").serializeArray(), function(message) {
            window.location="v.php" 
        });
      });
   });
  </script>

</head>

<body>
//The form part where is displays the datepicker:

<form action="#" method="POST">
<div data-role="fieldcontain">
<label for="date">Date:</label>
<input type="date" name="date" id="date" value=""  />
<input type="submit" value="submit" />

</div>     
</form>

</body>

Результат (таблица стилей не прилагается) enter image description here

Рабочий пример - подскажите что не так

http://jsfiddle.net/ppumkin/nptgn/

0 голосов
/ 08 декабря 2016

Попробуйте это

$ ('# mydate'). Val ("2009-11-01");

0 голосов
/ 03 июня 2014

У меня была похожая проблема, я решил ее так

$('.datepicker').datepicker({dateFormat: "yy-mm-dd", defaultDate: "+3m"} );
...