1

我试图使用 jQuery datepicker 突出显示日历中的某些日期。我在这个论坛上从 Mark Murphy 那里找到了以下代码,使用 jQuery 的 datepicker 突出显示特定范围内的日期,效果很好,但是代码中有一些我不明白的地方。由于我没有足够的权限,我无法对原始答案发表评论。

我想知道的是:

1) || 的目的是什么 '' 在返回匹配日期的位中(函数返回 true)?

2)当函数返回false时,的目的是什么?

$(document).ready(function() {

var dates = {'2012/6/4':'some description' , '2012/6/6':'some other description'}; 

$('#datepicker').datepicker({                
   beforeShowDay: function(date) {

       var search = date.getFullYear() + "/" + (date.getMonth() + 1) + "/" + (date.getDate());

       //console.log(search);

       if (dates[search]) {
           return [true, 'highlight', dates[search] || ''];
       }

       return [false, '', ''];
   }

});
4

1 回答 1

0

1)dates[search] || ''表示如果dates[search]未定义,则返回一个空字符串

2)return [false, '', '']返回一个包含 3 个元素的数组,其值为:false、void string、void string

从 JQueryUI 网站返回的数组定义:

http://api.jqueryui.com/datepicker/#option-beforeShowDay

函数将日期作为参数,并且必须返回一个数组,其中 [0] 等于 true/false 指示此日期是否可选,[1] 等于 CSS 类名称或默认表示为 "",并且 [ 2] 此日期的可选弹出工具提示。在显示之前,它会在日期选择器中的每一天被调用。

于 2012-12-12T17:31:55.547 回答