5

レポートを生成するために、Web ページに日付から日付までの 2 つの datepikcer を配置しました。日付の選択のために、両方の日付ピッカーに検証を適用したいと考えています。両方のdatepikcerの最小日付と最大日付を設定するための一般的なjqueryコードを作成しましたが、うまくいきませんでした。また、日付ピッカーの終了時に最小日付と最大日付を設定するためのコードも作成しました。

私の要件は、datepicker の初期化時に最小日付と最大日付を動的に設定することです。その後、ユーザーが日付ピッカーから日付を選択できる別の最大日付と最小日付も設定します

$("#frm_date").datepicker({
 showOn: 'button', 
 buttonImage: 'images/calendar.gif', 
 buttonImageOnly: true,
 dateFormat:'yy-mm-dd',
 onClose: function( selectedDate ) {
                            $( "#to_date" ).datepicker( "option", "minDate", selectedDate );
               }
});


 $("#to_date").datepicker({
 showOn: 'button', 
 buttonImage: 'images/calendar.gif', 
 buttonImageOnly: true,
 dateFormat:'yy-mm-dd',
 onClose: function( selectedDate ) {
                      $("#frm_date" ).datepicker( "option", "maxDate", selectedDate );
                   }
 });

$(".datepick").datepicker({dateFormat:'yy-mm-dd',minDate:'2013-09-10' ,maxDate:'2013-10-10'});
4

2 に答える 2

3

以下のコードを使用して問題を解決しました。
jqueryフォーラムサイトの以下のソリューションも参照してください。https://forum.jquery.com/topic/how-to-set-minimum-and-maximum-date-dynamically-in-jquery-ui-date-picker

$.datepicker.setDefaults({
          showOn: 'button', 
          buttonImage: 'images/calendar.gif', 
          buttonImageOnly: true,
          dateFormat: 'yy-mm-dd',
          minDate: '2013-09-10',
          maxDate: '2013-10-10'
    });
    $('#frm_date').datepicker({
          onSelect: function(selectedDate) {
                $('#to_date').datepicker('option', 'minDate', selectedDate || '2013-09-10');
          }
    });
    $('#to_date').datepicker({
          onSelect: function(selectedDate) {
                $('#frm_date').datepicker('option', 'maxDate', selectedDate || '2013-10-10');
          }
    });

    $(".datepick").datepicker({dateFormat:'yy-mm-dd',minDate:'2013-09-10' ,maxDate:'2013-10-10'});
于 2013-10-11T06:06:32.110 に答える
0

beforeShowカレンダーが表示される直前に、メソッドを呼び出して任意のオプションを設定できます。

$("#to_date").datepicker({
    beforeShow:function(){
        $(this).datepicker('option',
                            {
                                minDate:new Date()
                             }
                          );
    }
});
于 2013-10-11T04:45:09.603 に答える