8

おはようございます。日付ピッカーのmaxDateを動的に制御したいと思います。たとえば。:フォームに値20/12/12の日付があります。

これを試しましたが、機能していません。カレンダーで、テキストボックスに入力した日付のmaxDateが無効になっています。これで私を助けてくれませんか:

$(function() { 
    var date = new Date(); 
    var m = date.getMonth(), d = date.getDate(), y = date.getFullYear(); 
    $("#Panel2nrFecha").datepicker({ 
        minDate: new Date(y, m, d), 
        maxDate: $("#Panel2nrTextBox1").val(), 
        dateFormat: "dd/mm/y", 
        defaultDate: "+1w", 
        changeMonth: true, 
        numberOfMonths: 3 
    }); 
}); 
4

3 に答える 3

13

日付ピッカーを初期化したら、次のmaxDateようにオプションを変更できます。

$("#Panel2nrFecha").datepicker('option', 'maxDate', $("#Panel2nrTextBox1").val() );
于 2012-11-12T12:45:17.777 に答える
4

このチュートリアルjQueryUIDatepicker v3.4.3で概説されているように、datepickerの属性を使用してbeforeShow、最小日付と最大日付を設定します 。例-MarcGrabanskiとKeithWoodによる日付範囲:

$("#Panel2nrFecha").datetimepicker({
    beforeShow: customRange,
    dateFormat: "dd/mm/y", 
    defaultDate: "+1w", 
    changeMonth: true, 
    numberOfMonths: 3 
});

function customRange(input) {
    return { minDate: (input.id == 'Panel2nrMinDateTextBox' ? $('#Panel2nrMinDateTextBox').datepicker('getDate') : null),
        maxDate: (input.id == 'Panel2nrMaxDateTextBox' ? $('#Panel2nrMaxDateTextBox').datepicker('getDate') : null)
    };
}
于 2012-11-12T12:44:34.427 に答える
1

HTMLを投稿せずに、これで問題が解決するかどうかはわかりませんが、これを試しましたか?

$(function() { 
    var date = new Date();  
    $("#Panel2nrFecha").datepicker({ 
        minDate: date, 
        maxDate: new Date($("#Panel2nrTextBox1").val()), 
        dateFormat: "dd/mm/y", 
        defaultDate: "+1w", 
        changeMonth: true, 
        numberOfMonths: 3 
    }); 
});

ymおよびd変数を削除し、datepickernew Date()のプロパティにも追加したことに注意してください。maxDate

于 2012-11-12T12:44:09.700 に答える