Мой HTML:

<input type="text" name="day" id="date">

Мой Javascript:

$(function() {
    $('#date').datepicker({
        'dateFormat': 'yy-mm-dd',
        'defaultDate': '2015-12-18'
     });
});

Текстовое поле #date превращается в средство выбора даты, так что это работает. И формат в том формате, о котором я говорю. Но дата по умолчанию, похоже, ничего не делает.

В этом примере я ожидаю, что текстовое поле появится с «2015-12-18» при первой загрузке страницы. Если я нажму на текстовое поле, откроется диалоговое окно выбора даты, и я смогу ввести другую дату, но до тех пор, пока я это не сделаю, должна отображаться дата «2015-12-18». Но это не так, и я не понимаю, почему.

Моя скрипка JS:

https://jsfiddle.net/18000rLe/4/

2
neubert 19 Дек 2015 в 02:48

4 ответа

Лучший ответ

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

Несколько вещей, чтобы запомнить ->

Параметр 1. defaultDate устанавливает дату в datepicker calender, а не в поле input. Для этого вам нужно явно определить setDate.
2. Если вы используете "setDate" в datepicker, вам не нужно добавлять defaultDate, поскольку datepicker автоматически выберет дата из поля input.

  $(function() {
        $("#date").datepicker({dateFormat: 'yy-mm-dd'});
        $("#date").datepicker('setDate', new Date('2014-12-18')); 
    }); 

Пример: http://jsfiddle.net/DinoMyte/tXyLn/527/

8
DinoMyte 19 Дек 2015 в 00:11

Вы можете использовать это, это даст вам дату :)

$(function() {
var today = new Date();
    var dd = today.getDate();
    var mm = today.getMonth()+1; //January is 0!
    var yyyy = today.getFullYear();
    if(dd < 10) {
        dd = '0' + dd;
    } 
    if (mm < 10) {
        mm = '0' + mm;
    } 
    today = yyyy + '-' + mm + '-' + dd;  
    $('#date').val(today);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" name="day" id="date">
0
Alaa M. Jaddou 19 Дек 2015 в 00:01

Я должен был передать дату таким образом вместо Date объекта:

$('#date input').datepicker({
  'defaultDate': {
    year: 1999,
    month: 11,
    day: 31
 });
-1
aabiro 20 Мар 2019 в 13:43

Вы можете применить это так:

$(function() {
    $('#date').datepicker({
        'dateFormat': 'yy-mm-dd',
      //'defaultDate': +7
      //'defaultDate': new Date(1985, 00, 01),
      'defaultDate': '2015-12-18'
     }).datepicker("setDate",new Date());
});
0
Vince Verhoeven 19 Дек 2015 в 00:09