jQuery Datepicker BeforeShowDay第二个参数

时间:2012-07-26 00:26:53

标签: javascript jquery datepicker

jQuery的datepicker允许您使用BeforeShowDay回调突出显示日期。

是否可以将第二个参数传递给方法?

$(selector).datepicker({beforeShowDay: selectedDay});   

function selectedDay(date) {

    // Do stuff

    return [true, 'class_name'];
}

如您所见,参数date会自动传递给selectedDay方法,因此我不确定如何传递第二个参数。

干杯。

4 个答案:

答案 0 :(得分:16)

我想知道同样的问题,我想我找到了答案:

function selectedDay(date, param ) {
     // Do stuff with param
     return [true, ''];
}

function doStuff(){
    var param = "param_to_pass";
    $(selector).datepicker({
        beforeShowDay: function (date){
            return selectedDay(date, param );
        }
    }); 
}  

答案 1 :(得分:0)

如果我理解正确,你可以创建另一个函数并传递你想要的任何参数:

function foo (param) { ... }
function selectedDay (date) {
  foo(param);
  return [true, 'class_name'];
}

$(selector).datepicker({beforeShowDay: selectedDay});   

答案 2 :(得分:0)

您可以编写一个返回日期数组的函数

function selectedDay(date1,date2) {
// your code
return dates[];
}

然后

$(selector).datepicker({beforeShowDay: selectedDay});  

只是一个想法,绝对不确定它是否有效

答案 3 :(得分:0)

我采用了不是最好的做法来解决我的问题。我只是让第二个参数传递一个全局。它将暂时完成这项工作。

$(selector).datepicker({beforeShowDay: selectedDay});   

var my_param = x;
function selectedDay(date) {

    // Do stuff, use my_param

    return [true, 'class_name'];
}