jquery datepicker дата по умолчанию - PullRequest
12 голосов
/ 30 октября 2009

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

Ошибки возникают только на страницах, которые НЕ имеют календарь (встроенный). Как можно извлечь тег rel из селектора, не получив этой ошибки?

//Event Calendar Home Page and Listing
function calendar_picker () {
$("#calendar-inline").datepicker({
   //defaultDate: $(this).attr('rel'),
    dateformat: 'yy-mm-dd',
    maxDate: '+1y',
    minDate:'-0d',
    hideIfNoPrevNext: true,
    showButtonPanel: false,
    navigationAsDateFormat: false,
    onSelect: function(dateText, inst) {
                 var d = new Date(dateText);
   var fmt1 = $.datepicker.formatDate("yy-mm-dd", d);
   $.ajax({
   type: "POST",
   url: "/events/listing/all/20/",
   dataType: "html",
                        date: "event_date="+fmt1,
   success: function(){
                        window.location.href= "/events/browse/"+fmt1;
    }});}});
}

UPDATE Правильно, закомментированная строка - это то, с чем у меня возникают проблемы, Как правильно извлечь атрибут rel из # calendar-inline из этого? Все попытки выдают неперехваченную ошибку в js

Обновление 2

function calendar_picker () {
var myDate = new Date($("#calendar-inline").attr('rel'));
    $("#calendar-inline").datepicker({

     dateformat: 'yy-mm-dd',
     defaultDate:myDate,

Решение:

function calendar_picker () {
var myDate = null;
if ($("#calendar-inline").attr('rel') != null) {
     myDate = $.datepicker.parseDate("yy-mm-dd", $("#calendar-inline").attr('rel'));
     }
    $("#calendar-inline").datepicker({

     dateformat: 'yy-mm-dd',
     defaultDate:myDate,

Ответы [ 4 ]

9 голосов
/ 09 ноября 2009

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

defaultDate: $("#calendar-inline").attr('rel')

Это попытается извлечь дату из атрибута 'rel', и если она не существует, она должна возвратить ноль. Когда значение null передается в дату по умолчанию для средства выбора даты, он будет использовать сегодня в качестве даты по умолчанию.

8 голосов
/ 26 июля 2012

Мы можем установить дату по умолчанию следующим образом:

<script type="text/javascript">
$(function() {               
    $("#date" ).datepicker({
        changeMonth: true,
        changeYear: true,
        yearRange: '1920:2010',
        dateFormat : 'dd-mm-yy',
        defaultDate: new Date(2000,01,01)
    });
});
</script>

См. http://jqueryui.com/demos/datepicker/#option-defaultDate

0 голосов
/ 12 декабря 2011

это работает для меня:

var nowDate = new Date(year, month, day, hours, minutes, seconds, milliseconds);

затем в палитре даты вы установите:

defaultDate: nowDate;
0 голосов
/ 30 октября 2009

Ваш вопрос немного неясен - я предполагаю, что ваша проблема возникает в закомментированной строке.

Если это правильно, то я думаю, что ваша проблема с "этим". Я не совсем уверен, что вы ожидаете от «this», но внутри функции это будет объект окна.

Если я нахожусь на неправильном пути, обновите вопрос, добавив дополнительную информацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...