Javascript 如果datepicker已经有值,则仍然运行onselect

Javascript 如果datepicker已经有值,则仍然运行onselect,javascript,jquery,datepicker,Javascript,Jquery,Datepicker,目前,我可以选择一个日期,它会在我的输入字段中填充7天的日期和另一个输入字段系列中一周中的相应日期,在下面的示例中仅为3天。这很好,尽管我确信有一种更有效的方法可以用数组编写同样的东西,但我只是不知道 但是,如果我在页面加载时从数据库中获取开始日期,而不是使用datepicker选择它,那么它显然不会触发onselect事件,字段也不会填充。如何让它在这两种情况下填充字段 我在想一个函数,当datepicker输入有一个有效值或onselect时运行,但在我参与这个小项目之前,我从未真正接触过J

目前,我可以选择一个日期,它会在我的输入字段中填充7天的日期和另一个输入字段系列中一周中的相应日期,在下面的示例中仅为3天。这很好,尽管我确信有一种更有效的方法可以用数组编写同样的东西,但我只是不知道

但是,如果我在页面加载时从数据库中获取开始日期,而不是使用datepicker选择它,那么它显然不会触发onselect事件,字段也不会填充。如何让它在这两种情况下填充字段

我在想一个函数,当datepicker输入有一个有效值或onselect时运行,但在我参与这个小项目之前,我从未真正接触过JS

$(function() {
$("#StartDate").datepicker({
  dateFormat: 'dd/mm/yy',
  onSelect: function(dateStr, inst) {
      var weekday=new Array(7);
        weekday[0]="Monday";
        weekday[1]="Tuesday";
        weekday[2]="Wednesday";
        weekday[3]="Thursday";
        weekday[4]="Friday";
        weekday[5]="Saturday";
        weekday[6]="Sunday";
      var Date1 = $.datepicker.parseDate('dd/mm/yy', dateStr);
      Date1.setDate(Date1.getDate('dd/mm/yy'));
      $('#Date1').val(Date1.toLocaleDateString());
      $('#Day1').val(weekday[Date1.getUTCDay()]);
      var Date2 = $.datepicker.parseDate('dd/mm/yy', dateStr);
      Date2.setDate(Date2.getDate('dd/mm/yy') + 1);
      $('#Date2').val(Date2.toLocaleDateString());
      $('#Day2').val(weekday[Date2.getUTCDay()]);
      var Date3 = $.datepicker.parseDate('dd/mm/yy', dateStr);
      Date3.setDate(Date3.getDate('dd/mm/yy') + 2);
      $('#Date3').val(Date3.toLocaleDateString());
      $('#Day3').val(weekday[Date3.getUTCDay()]);
      }
  });
});

像这样的环怎么样

$(function() {
$("#StartDate").datepicker({
  dateFormat: 'dd/mm/yy',
  onSelect: function(dateStr, inst) {
      var weekday=new Array(7);
        weekday[0]="Monday";
        weekday[1]="Tuesday";
        weekday[2]="Wednesday";
        weekday[3]="Thursday";
        weekday[4]="Friday";
        weekday[5]="Saturday";
        weekday[6]="Sunday";

      for(i=0;i<weekday.length;i++){
        var Date = $.datepicker.parseDate('dd/mm/yy', dateStr);
        Date.setDate(Date.getDate('dd/mm/yy') + i);             // "i" is the array index 
        $('#Date').val(Date.toLocaleDateString());
        $('#Day').val(weekday[Date.getUTCDay()]);
      }
  });
});

像这样的环怎么样

$(function() {
$("#StartDate").datepicker({
  dateFormat: 'dd/mm/yy',
  onSelect: function(dateStr, inst) {
      var weekday=new Array(7);
        weekday[0]="Monday";
        weekday[1]="Tuesday";
        weekday[2]="Wednesday";
        weekday[3]="Thursday";
        weekday[4]="Friday";
        weekday[5]="Saturday";
        weekday[6]="Sunday";

      for(i=0;i<weekday.length;i++){
        var Date = $.datepicker.parseDate('dd/mm/yy', dateStr);
        Date.setDate(Date.getDate('dd/mm/yy') + i);             // "i" is the array index 
        $('#Date').val(Date.toLocaleDateString());
        $('#Day').val(weekday[Date.getUTCDay()]);
      }
  });
});

谢谢你的回复。如果我没记错的话,您没有回答我的主要问题,而是给出了一个如何简化我当前工作代码的示例,对吗?然后,我如何将相关日期添加到每个日期?因为现在我有日期1,第1天,等等,直到日期7,第7天。我显然误解了这个问题。。。但是等一下,我只是改进了我的答案。。。看看它是否更适合你的需要;我知道它说这个评论部分不是为了表达感谢,但去他妈的。。。这对我来说就像魔术,非常感谢你花时间来帮助我!我将研究这个解决方案,它将真正帮助我更好地理解函数是如何工作的。谢谢你,你帮了我大忙=谢谢你的回复。如果我没记错的话,您没有回答我的主要问题,而是给出了一个如何简化我当前工作代码的示例,对吗?然后,我如何将相关日期添加到每个日期?因为现在我有日期1,第1天,等等,直到日期7,第7天。我显然误解了这个问题。。。但是等一下,我只是改进了我的答案。。。看看它是否更适合你的需要;我知道它说这个评论部分不是为了表达感谢,但去他妈的。。。这对我来说就像魔术,非常感谢你花时间来帮助我!我将研究这个解决方案,它将真正帮助我更好地理解函数是如何工作的。谢谢你,你帮了我大忙=