5

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

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

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

function selectedDay(date) {

    // Do stuff

    return [true, 'class_name'];
}

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

干杯。

4

4 回答 4

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 );
        }
    }); 
}  
于 2012-11-22T14:30:31.190 回答
0

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

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

$(selector).datepicker({beforeShowDay: selectedDay});   
于 2012-07-26T00:48:58.700 回答
0

我采用了非最佳实践来解决我的问题。我只是简单地制作了第二个参数来传递全局。它会暂时完成这项工作。

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

var my_param = x;
function selectedDay(date) {

    // Do stuff, use my_param

    return [true, 'class_name'];
}
于 2012-07-26T22:16:23.367 回答
0

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

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

接着

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

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

于 2012-07-26T06:48:08.710 回答