0

datepicker "#to" dd.mm.yy の日付を変更するにはどうすればよいですか。mm/dd/yy と書きます。私が変更した場合 / で。正しい計算とIDを変更(d.getMonth() + 1) + '/' + d.getDate() + '/' + d.getFullYear();して、機能し(d.getDate() + '/' + d.getMonth() + 1) + '/' + d.getFullYear();ないようにします。

コードは次のとおりです。

$(function () {
    $('#to').attr('disabled', true);
    $("#from").datepicker({
        dateFormat: 'dd.mm.yy',
        onSelect: function (selectedDate) {
            var x = selectedDate.split('.');
            var d = new Date(x[1] + ',' + x[0] + ',' + x[2]);
            var res = d.setDate(d.getDate() + 7);
            var dateMsg = (d.getMonth() + 1) + '/' + d.getDate() + '/' + d.getFullYear();
            $("#to").removeAttr('disabled').removeClass('hasDatepicker').datepicker({
                minDate: dateMsg
            });
        }
    });
});

およびhtml:

<label for="from">From</label>
<input type="text" id="from" name="from" />
<br/>
<label for="to">to</label>
<input type="text" id="to" name="to" />

ここにすべてのコードがあります: http://jsfiddle.net/JBrvn/4/

4

3 に答える 3

1

minDate プロパティを文字列ではなく Date オブジェクトにキャストする必要があります。日付を設定して取得する文字列はミリ秒の値になり、datepicker ではレンダリングできません。SO 値をキャストするだけで、問題なく動作するはずです

$('#to').attr('disabled', 'disabled');
$("#from").datepicker({
    dateFormat: 'dd.mm.yy',
    minDate: new Date(),
    onSelect: function (selectedDate) {            
        var x = selectedDate.split('.');
        var d = new Date(x[1] + ',' + x[0] + ',' + x[2]);
        var res = d.setDate(d.getDate() + 7);
        $("#to").removeAttr('disabled').datepicker({
         dateFormat: 'dd.mm.yy',
         minDate: new Date(res)                
    });
  }
});
于 2013-08-30T06:06:07.647 に答える
1

デモ

$(function () {
    $('#to').attr('disabled', true);
    $("#from").datepicker({
        dateFormat: 'dd.mm.yy',
        onSelect: function (selectedDate) {
            var x = selectedDate.split('.');
            var d = new Date(x[1] + ',' + x[0] + ',' + x[2]);
            var res = d.setDate(d.getDate() + 7);
            var dateMsg = d.getDate() + '.' + (d.getMonth() + 1) + '.' + d.getFullYear();
            $("#to").removeAttr('disabled').removeClass('hasDatepicker').datepicker({
                minDate: dateMsg,
                dateFormat: 'dd.mm.yy'
            });
        }
    });
});
于 2013-08-30T05:56:11.017 に答える
1

ウィジェットの初期化時に日付形式を設定しない理由 - また、ソリューションを少し再設計しました

$(function () {
    var dateFormat = 'dd.mm.yy';

    $("#from").datepicker({
        dateFormat: dateFormat,
        onSelect: function (selectedDate) {
            var date = $.datepicker.parseDate(dateFormat, selectedDate)
            var tod = date.setDate(date.getDate() + 7);
            $to.prop('disabled', false).datepicker( "option", "minDate", new Date(tod ));
        }
    });
    var $to = $("#to").datepicker({
        dateFormat: dateFormat
    }).prop('disabled', true);
});

デモ:フィドル

于 2013-08-30T05:46:16.240 に答える