要素内の入力を受け取り、適切な最小/最大日付を設定する jQuery 関数を作成しようとしました。しかし、ページに複数の dateRinge がある場合、一方が他方の設定を取得します。すべての dateRange には独自のスコープが必要です。
ここにデモがあります: http://jsbin.com/ahozug/1/edit、そしてここに私のコードがあります:
HTML
<div class="dateRange">
<label>Label1</label>
<input type="text" class="from" />
<input type="text" class="to" />
</div>
<div class="dateRange">
<label>Label2</label>
<input type="text" class="from" />
<input type="text" class="to" />
</div>
JS
$.fn.dateRange = function(){
var self = this;
var selectedDate;
$("input",this).prop('readonly', true);
$('.from',this).datepicker({
onClose:function( selectedDate ) {
$( ".to",self ).datepicker( "option", "minDate", selectedDate );
}
});
$('.to',this).datepicker({
onClose:function( selectedDate ) {
$( ".from",self ).datepicker( "option", "maxDate", selectedDate );
}
});
};
$( "div.dateRange" ).dateRange();