Дата окончания должна быть позже даты начала (jquery для noobs) - PullRequest
0 голосов
/ 30 ноября 2009

У меня чертовски много времени, чтобы обернуть голову вокруг синтаксиса JQuery (возможно, потому, что мой javascript не настолько хорош для начала). Вот моя проблема. Я использую DatePicker для двух полей ввода (#ev_start и #ev_end) #ev_end должно произойти после #ev_start.

HTML

Event Start <input type='text' name='ev_start' id='ev_start'/>
Event End   <input type='text' name='ev_end' id='ev_start'/>

JQuery, который работает

$(document).ready(function(){
    //DATE/TIME INFO
    $.datepicker.setDefaults({ dateFormat: 'yy-mm-dd', firstDay: 1  });

    $(function() {
        $("#ev_start").datepicker({showOn: 'button', 
                                   buttonImage: 'images/jquery_ui/calendar.gif', 
                                   buttonImageOnly: true
                                 });
    });

    $(function() {//display Calendar
        $("#ev_end").datepicker({showOn: 'button', 
                                 buttonImage: 'images/jquery_ui/calendar.gif', 
                                 buttonImageOnly: true
                                });
});

JQuery, который должен установить разум в указателе даты ev_end, но не:

$("#ev_start").live('blur',
                    function(){
                      $('#ev_end').datepicker('option', 'minDate', $('#ev_start').datepicker( 'getDate' ))
                    });//inside the $(document).ready(function())

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

Спасибо!

Ответы [ 2 ]

2 голосов
/ 30 ноября 2009

Ответ состоит в том, чтобы изменить указатель даты для #ev_end в начальной функции:

$(function() {//display Calendar
    $("#ev_end").datepicker({showOn: 'both', 
                             buttonImage: 'images/jquery_ui/calendar.gif', 
                             buttonImageOnly: true,
                             beforeShow: function() { 
                                var d=$("#ev_start").datepicker('getDate');
                                if(d) return {minDate: d}
                                }
                            });
});
0 голосов
/ 30 ноября 2009

Вы не можете сделать это с помощью некоторого встроенного метода jQuery. Это возможное решение для создания собственного метода проверки этого.

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