当我选择日期时,将类添加到第n个元素中

问题描述 投票:0回答:1

如何在所选日期的每个日期添加课程。

假设我点击了星期四,而星期四下的所有日期都有上课。

我提供服务,您可以选择频率,每周,2周,4周,当用户单击某个日期时,请添加选择频率,日历上的日期将突出显示。

我尝试从ui-state-default向每个第n个孩子添加css,但这不起作用。

```
    $('#cookdate').datepicker({
            numberOfMonths: 2,
            altField: '#selectedDatecook',
            minDate: 2,
            maxPicks: 20,
            onSelect: function (date) {
            var date = $(this).datepicker('getDate');
            var day = date.getUTCDay();

            },
    });

jquery-ui jquery-ui-datepicker
1个回答
0
投票

您将要使用onSelectbeforeShowDate的组合。例如:

$(function() {
  var selected, final;
  var days = 7;
  $('#cookdate').datepicker({
    numberOfMonths: 2,
    minDate: 2,
    onSelect: function(dStr, obj) {
      selected = $.datepicker.parseDate("mm/dd/yy", dStr);
      final = new Date(selected);
      final.setDate(selected.getDate() + days);
      $("#selectdate").val($.datepicker.formatDate("mm/dd/yy", final));
    },
    beforeShowDay: function(dt) {
      $(".highlighted").removeClass("highlighted");
      if (dt > selected && dt <= final) {
        return [true, "highlighted"];
      } else {
        return [true, ""];
      }
    }
  });
});
td.highlighted, td.highlighted a.ui-state-default {
  background-color: #ccc;
}
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<p>Cook Date: <input type="text" id="cookdate"> Select Date: <input type="text" id="selectdate"></p>

您可以将days更改为任意天数。然后,beforeShowDays将查找匹配的日期,并向它们添加一个类别,highlighted

© www.soinside.com 2019 - 2024. All rights reserved.