关于函数语法的2个问题,jQuery datepicker,beforeShowDay选项

时间:2012-12-12 17:29:19

标签: javascript jquery jquery-ui-datepicker

我试图使用jQuery datepicker突出显示日历中的某些日期。我在Mark Murphy的这个论​​坛上找到了以下代码,Highlight dates in specific range with jQuery's 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, '', ''];
   }

});

1 个答案:

答案 0 :(得分: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,表示此日期是否为   selectable,[1]等于CSS类名称或默认值为“”   演示文稿,以及[2]此日期的可选弹出工具提示。它是   在显示之前,在日期选择器中调用每一天。