Не удается найти defaultDate в датчике jQuery UI - PullRequest
0 голосов
/ 11 ноября 2009

У меня есть текстовое поле формы, которое извлекает дату из базы данных (в формате гггг-мм-дд).

<input class="" type="text" name="closingDate" id="closingDate" value="<?php echo $closingdate;?>" />@ Midday

У меня тогда есть jQuery datepicker, который захватит его значение 'defaultDate' в качестве атрибута значения ввода, показанного выше.

$(document).ready(function(){
 $("#datepicker").datepicker({defaultDate: 'input#closingDate.attr('value')' , altField: 'input#closingDate' , altFormat: 'yy-mm-dd'});
});

(пожалуйста, обратите внимание: yy-mm-dd правильно форматировать как yyyy-mm-dd, а также, что $ ClosingDate правильно отображает как yyyy-mm-dd, как я проверял в других местах на странице).

Однако средство выбора даты не будет извлекать дату из поля ввода, оно просто по умолчанию будет иметь значение «сегодня».

Ответы [ 3 ]

3 голосов
/ 23 ноября 2010

Извините за опоздание, но для полноты вот что сработало для меня.

Обычно вам нужно использовать тот же dateFormat, что и для выбора даты, или передавать объект Date.

$(document).ready(function(){
    $("#datepicker").datepicker({
        defaultDate: new Date($('input#closingDate').attr('value')),
        altField: 'input#closingDate',
        altFormat: 'yy-mm-dd'
    });
});

Проблема с этим заключается в том, что входное значение изменено на '', поэтому оно бесполезно для формы редактирования.

Я лично использую метод setDate с объектом Date, таким образом я могу использовать '2001-01-01' в php, но отображать «более приятную» дату на входе.

$(document).ready(function(){
    $("#datepicker").datepicker({
        altField: 'input#closingDate',
        altFormat: 'yy-mm-dd',
        dateFormat:'DD, d MM, yy'
    });
    $("#datepicker").datepicker("setDate", new Date($("input#closingDate").attr("value"));
});
0 голосов
/ 09 марта 2010

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

Он продолжал брать мой asp.net DateTime и добавлять к нему случайные годы или что-то в этом роде.

Мое решение:

var myDate= new Date('<%=myObject.myDate.ToLongDateString() %>');
$("#mytextbox").datepicker({ defaultDate: myDate });
0 голосов
/ 11 ноября 2009

Вы не должны помещать дату по умолчанию в буквальную строку, функция .attr() возвращает строку:

$(document).ready(function(){
    $("#datepicker").datepicker({
        defaultDate: $('input#closingDate').attr('value'),
        altField: $('input#closingDate'),
        altFormat: 'yy-mm-dd'
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...