AFAIKこれは、デフォルトのjQueryのdatepickerでは実行できません。
私は最近、自分自身でこの問題に遭遇しました。デフォルトのjQueryのdatepickerを使用して解決策を見つけることができませんでした。代わりに、http://keith-wood.name/datepick.htmlを使用して独自のwiQueryプラグインを作成しました。もう少し作業が必要ですが、wiQueryコードを調べることで、この代替の日付ピッカーを動作させるためにエミュレートする必要のあるクラスを見つけることができます。
は私がコピーされた:
- DatePickerOptions
- 日付ピッカー
- DatePickerJavascriptResourceReference
- JsScopeUiDatePickerOnChange org.odlabs.wiquery.ui.datepickerから
.classes。
これらのクラス名の先頭に「Multi」を追加し、設定とコールバックオプションの参照ガイドをhttp://keith-wood.name/datepickRef.htmlで使用しました(最初のリンクからクイックリファレンスをクリックすると、新しく作成したMultiDatePickerクラスで正しいjavascriptを生成できるようにします。
public JsStatement statement() {
return new JsQuery(this).$().chain("datepicker",
options.getOptions().getJavaScriptOptions());
}
次のJavaScriptを作成するために使用されています:私の選択したオプションは、中括弧内にある
(function($) {
$(document).ready(function() {$('#startDate').datepicker({defaultDate: '+1', minDate: '+1', showOn: 'both', buttonImageOnly: true, buttonImage: '/Calendar.png'});
});
})(jQuery);
を(
例えば
は、日付ピッカーでは、デフォルトでは、次のコードがあります)。
私はに私のMultiDatePicker.javaでこれを変更する:私はラインに置か
public JsStatement statement()
{
return new JsQuery(this).$().chain("datepick", options.getOptions().getJavaScriptOptions());
}
:私のmultiDatePickerOptionsに
public void setMultiSelect(int i)
{
put("multiSelect", i);
}
public int getMultiSelect()
{
return getInt("multiSelect");
}
を、そしてこれらを設定MultiDatePickerクラスのいくつかのダムゲッターとセッターオプションを使用すると、設定できる日付の数を設定できます。このすべてを行うことで、私はそれから行うことができました:
$('#startDate').datepick({multiSelect: 999, showTrigger: '/Calendar.png', dateFormat: 'dd/mm/yyyy', onDate: function(date, current) { /*I used this callback function to only allow certain dates to be selected by the user.*/}});
幸運:次のJavaScriptコードを生成し
MultiDatePicker multiDatePicker = new MultiDatePicker("datePicker");
multiDatePicker.setMultiSelect(2);
add(multiDatePicker);
!