2012-07-26 17 views
5

jQueryのdatepickerを使用すると、BeforeShowDayコールバックを使用して日付を強調表示できます。jQuery Datepicker BeforeShowDay第2パラメータ

メソッドに2番目のパラメータを渡すことはできますか?

$(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 selectedDay(date1,date2) { 
// your code 
return dates[]; 
} 

の配列を返す関数を書くことができます
function foo (param) { ... } 
function selectedDay (date) { 
    foo(param); 
    return [true, 'class_name']; 
} 

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

こんにちは。私はあなたが言っていることを得るが、 'param'を' selectDay'関数に渡す必要があります。 – Jarrod

0

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

ちょっとしたアイデア、動作しているかわからない

0

私は私の問題を解決するためのベストプラクティスに頼らざるを得ませんでした。私は単に第2パラメータをグローバルに渡すようにしました。それは当分の間仕事をします。

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

var my_param = x; 
function selectedDay(date) { 

    // Do stuff, use my_param 

    return [true, 'class_name']; 
} 
関連する問題