Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery日期选择器的Execute.bind事件onLoad_Javascript_Jquery_Datepicker - Fatal编程技术网

Javascript Jquery日期选择器的Execute.bind事件onLoad

Javascript Jquery日期选择器的Execute.bind事件onLoad,javascript,jquery,datepicker,Javascript,Jquery,Datepicker,我正在使用 我设置了一个开始和结束日期选择器,这样当选择开始日期时,它会将相同的日期指定给结束日期,而结束日期确保其日历不允许选择开始日期之前的任何日期 非常有效,除非您选择结束日期而不触及开始日期,您可以在开始日期之前设置结束日期。不好 $(function() { $('.date-pick').datePicker({startDate:'2000-01-01', clickInput:true}) $('#start-date').bind('dpClosed'

我正在使用

我设置了一个开始和结束日期选择器,这样当选择开始日期时,它会将相同的日期指定给结束日期,而结束日期确保其日历不允许选择开始日期之前的任何日期

非常有效,除非您选择结束日期而不触及开始日期,您可以在开始日期之前设置结束日期。不好

$(function()
{
    $('.date-pick').datePicker({startDate:'2000-01-01', clickInput:true})

        $('#start-date').bind('dpClosed', function(e, selectedDates) {
                var d = selectedDates[0];
                if (d) {
            d = new Date(d);
            $('#end-date').dpSetStartDate(d.addDays(0).asString()).dpSetSelected(d.asString()).val($(this).val());
        }
    });
});
因为我使用PHP预先填充输入字段,所以我只想触发$'end-date'.dpSetStartDate,以便在加载文档时更新结束日期。目前它只在$'start-date'更新。绑定'dpClosed',function,selectedDates{

我该怎么做

谢谢


Tim

如果我理解正确,您正在尝试确保用户在“结束日期”字段中输入的日期在他们在“开始日期”字段中输入的日期当天或之后

为此,您需要为两个日期选择器绑定到dpClosed事件,并运行类似以下逻辑伪代码的操作:

var start = getSelectedStartDate();
var end = getSelectedEndDate(); //you'll need to write these functions, but you get the idea
if (end < start) {
  // set the end date field to the selected start date
  $("#end-date").dpSetSelected(start); //not sure if this is the only thing you have to do, but again, you get the idea
}

因此,这里的想法是,当用户在任一字段中选择日期时,如果结束日期早于开始日期,则开始日期将被放置在结束日期字段中。

不幸的是,您不能仅仅触发事件,因为您正在尝试从参数中选择日期……但是,还有另一种方法可以获取该数据:。使用t然后,您可以在任何时候立即更新结束日期范围,如以下所示:

$(function() {
    $('.date-pick').datePicker({startDate:'2000-01-01', clickInput:true});
    $('#start-date').bind('dpClosed', function(e, selectedDates) {
      var d = $('#start-date').dpGetSelected()[0];
      if (d) {
       d = new Date(d);
       $('#end-date').dpSetStartDate(d.addDays(0).asString()).dpSetSelected(d.asString()).val($(this).val());
     }
   }).trigger('dpClosed'); //call that event handler we just bound
});

.

$function{};是绑定到document.ready的快捷方式。在文档准备就绪之前,其中的所有内容都不会执行。请澄清您的问题好吗?抱歉…我把自己弄糊涂了。我要做的就是触发$'end-date'.dpSetStartDate,以便在加载文档时更新结束日期。目前,它只在$'start-date'更新。bind'dpClosed',functione,selectedDates{Hello Brandon。谢谢你的回答。这当然会起作用,但我只是尝试在页面加载时执行$'end-date'。而不仅仅是当用户触发$'start-date'。绑定'dpClosed',functione,selectedDates{。这有意义吗?对不起,我不太擅长jQuery。太棒了!!!我原以为有更聪明的方法可以做到这一点,但这真是太棒了!这正是我所需要的。祝你周末愉快!