131

jquery Date Pickerの選択した日付をその場で動的に変更するにはどうすればよいですか?インライン日付ピッカーを作成したと言っています。それからしばらくして、日付ピッカーを最初から作り直さずに、そこに別の日付を反映させたいと思います。

setDateメソッドを試しましたが、機能しませんでした。ドキュメントには多くのドキュメントがありませ

ここに別の(拡張された?)プラグインがありますが、jquery.ui.all.jsに付属しているプラ​​グインを使用したいと思います。

4

14 に答える 14

200

jQuery-UI のどのバージョンを使用していますか? 1.6r6、1.7、および 1.7.1 で以下をテストしましたが、動作します。

//Set DatePicker to October 3, 2008
$('#dateselector').datepicker("setDate", new Date(2008,9,03) );
于 2009-04-15T14:01:28.693 に答える
28

minDate または maxDate オプションが設定されている場合は、設定しようとしている日付が許可された日付範囲内にあることを確認してください。

于 2010-09-22T15:34:35.633 に答える
8

Keith Wood ( http://keith-wood.name/datepickRef.html ) による DatePickerの場合、次のように動作することに注意してください - デフォルトの日付の設定が最後であることに注意してください。

    $('#datepicker').datepick({
        minDate: 0,
        maxDate: '+145D',
        multiSelect: 7,
        renderer: $.datepick.themeRollerRenderer,
        ***defaultDate: new Date('1 January 2008')***
    });
于 2010-08-18T10:12:13.537 に答える
8
$('.date-pick').datePicker().val(new Date()).trigger('change')

最後に、私がここ数時間探しているもの!テキストフィールドに日付を設定するだけでなく、変更を開始する必要があります!

于 2018-08-24T22:09:17.080 に答える
7

何らかの理由で、場合によっては setDate を機能させることができませんでした。

私が見つけた回避策は、指定された入力の値属性を単純に更新することです。もちろん、日付ピッカー自体は更新されませんが、日付を表示するだけであれば問題なく動作します。

var date = new Date(2008,9,3);
$("#your-input").val(date.getMonth()+"/"+date.getDate()+"/"+date.getFullYear());
// Will display 9/3/2008 in your #your-input input
于 2009-05-30T21:18:37.347 に答える
2

setDate は jquery UI で使用されるインライン datepicker のみの問題のようです。特定のエラーは InternalError: too much recursion です。

于 2011-08-26T18:51:20.113 に答える
2

Html では、このような日付ピッカーを使用して入力フィールドを追加できます

<input class="form-control date-picker fromDates" id="myDate" type="text">

次に、Javaスクリプトで、日付ピッカーを初期化し、値を次のように日付に設定します。

$('.fromDates').datepicker({
                maxDate: '0',
                dateFormat: "dd/mm/yy",
                changeYear: true,
                changeMonth: true,
                yearRange: "-100:+0"
            });

var myDateVal = moment('${value}').format('DD/MM/YYYY');
$('#myDate').datepicker().datepicker('setDate', myDateVal );

(ここで fromdate 属性は現在の日付の前の日付を示します)

于 2019-01-29T09:25:18.897 に答える
0
var dt = new Date();
var renewal = moment(dt).add(1,'year').format('YYYY-MM-DD');
// moment().add(number, period)
// moment().subtract(number, period)
// period : year, days, hours, months, week...
于 2020-07-31T02:06:24.887 に答える
-1

setDate メソッドにもかなり苦労しました。v1でのみ動作するようです。ただし、機能しているように見えるのは、dpSetSelected メソッドを使用することです。

    $("#dateselector").dpSetSelected(new Date(2010, 0, 26).asString());

幸運を!

于 2009-04-10T13:34:42.980 に答える
-1

または、単に持つことができます

$('.date-pick').datePicker().val(new Date()).trigger('change')
于 2015-03-19T12:32:50.743 に答える