2012-07-26 117 views
5

jQuery的日期選擇器允許您使用BeforeShowDay回調來突出顯示日期。jQuery DatePicker BeforeShowDay第二個參數

是否有可能將第二個參數傳遞給該方法?

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

function selectedDay(date) { 

    // Do stuff 

    return [true, 'class_name']; 
} 

正如你所看到的,參數date自動傳遞到selectedDay方法,從而使我不確定如何傳遞第二個參數。

乾杯。

回答

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); 
     } 
    }); 
} 
0

如果我理解正確的話,你可以創建另一個函數,並傳遞任何你想要的PARAMS:

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

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

嗨。我明白你的意思,但我仍然需要將'param'傳遞給'selectDay'函數。 – Jarrod 2012-07-26 02:44:01

0

你可以寫返回日期

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

,然後

陣列功能
$(selector).datepicker({beforeShowDay: selectedDay}); 

只是一個想法,絕對不知道它是否工作

0

我採取了不是最好的做法來解決我的問題。我只是做了第二個參數來傳遞一個全局。它會暫時完成這項工作。

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

var my_param = x; 
function selectedDay(date) { 

    // Do stuff, use my_param 

    return [true, 'class_name']; 
} 
相關問題