2

在引导日期选择器中,我想突出显示两个日期。我可以突出显示两个日期,但无法通过颜色或某个类区分两个日期,它对两个日期应用相同的蓝色,任何人都可以帮助

  <script type="text/javascript" src="Scripts/bootstrap.js"></script>
<script type="text/javascript" src ="Scripts/bootstrap-datepicker.js"></script>
 <script type="text/javascript" >
       $(document).ready(function () {
       var DD = "29";
       var MM = "04";
       var YY = "2014";
       var CaseDD = "25";
       var CaseMM = "04";
       var CaseYY = "2014";

  $('#calendar').datepicker({
               format: "dd/mm/yyyy",
               multidate: true,
               multidateSeparator: "/",
               autoclose: true,
               showOtherMonths: true,
               dayNamesMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"],
               beforeShowDay: highlightDays()
           });
           $('#calendar').datepicker('setDate', new Date(YY, MM, DD), new Date(CaseYY, CaseMM, CaseDD));
       });

        <div class="container">
       <div id="calendar" style="margin-left:-10px;border:1px solid  #E1E1E1;width:203px;"> </div>
   </div>
  </form>
</body>
4

1 回答 1

0

我意识到这有点晚了,但我在尝试解决同样的问题时发现了这个问题。

我发现做到这一点的最简单方法是对弹出的每一天应用一个单独的类,然后使用该类突出显示我想要的日子。datepicker 的“beforeShowDay”选项允许您返回一个字符串,该字符串作为一个类添加到出现的每个 date () 元素中。getMonth() 是从 0 开始索引的,所以我们给它加 1。

如果我不懒惰,使用允许此类功能的方法扩展日期选择器可能更有意义。

beforeShowDay: function(date) {
   fulldate = date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate();
   console.log(fulldate);
   return fulldate;
} 
//you can now reference individual date td date segments as $("2018-5-30")
//you can also modify the code above to only apply the class to the dates you want, or change what class you apply
于 2018-05-30T14:59:31.797 回答