2012-04-13 7 views
1

jQueryカレンダーがあります。私は他の変数に応じて月曜日や火曜日などを選択できるようにしなければなりません。 2012年4月27日が今日で、選択可能な日が2012年4月27日または現在の日付に設定された木曜日です。デフォルトの月は選択可能な日付がなくても4月です。選択可能な日付が翌月になると来月に開きます

どのようにすれば、デフォルトの月が選択可能な月を選択できるようにすることができますか?

私は図が役立つことを願っています!

enter image description here

答えて

1

あなたはdefaultDate/minDateを設定するには、カスタム関数を使用することができます。ここでは、有効な曜日を定義する配列があります。現在の日付が1でなければ、それは見つかるまで前方に移動する。

var validDays = [0, 1, 1, 0, 0, 1, 0]; 

function firstDate() { 
    var valDate = new Date(); 
    valDate.setDate(valDate.getDate() + 14); 
    var day = valDate.getDay(); 
    var i = 0; 
    while (validDays[day] != 1 && i < 7) { 
     valDate.setDate(valDate.getDate() + 1); 
     day = valDate.getDay(); 
     i++; 
    } 
    return valDate; 
} 

function validDate(date) { 
    if (validDays[date.getDay()] == 1) { 
     return [true, ""]; 
    } else { 
     return [false, ""] 
    } 
} 

$(function() { 
    $("#datepicker").datepicker({ 
     beforeShowDay: validDate, 
     minDate: firstDate(), 
     defaultDate: firstDate() 
    }); 
}); 

デモ:あなたは、特定の用途のために、このような何かをカスタマイズすることができ、それが動作http://jsfiddle.net/jtbowden/LgLr9/1/

+0

おかげで、私はすでに14日と分の日付を設定しています。この場合、私はそれを動作させるために変更する必要があります – Kaushtuv

+0

'valDate.setDate(valDate.getDate()+ 14);'を 'firstDate()'の最初の行の後に追加する必要があります。上記で編集されました。 –

+0

感謝は魅力のように動作します:) – Kaushtuv

関連する問題