質問

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

setDate メソッドを試しましたが、機能しませんでした。また、ドキュメントもあまりありません。 博士.

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

役に立ちましたか?

解決

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

//Set DatePicker to October 3, 2008
$('#dateselector').datepicker("setDate", new Date(2008,9,03) );

他のヒント

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

この例では、ドロップダウン カレンダーのデフォルト値とテキスト ボックスの値を使用する方法を示します。また、デフォルト値を前の日付に設定する方法も示します。

selectedDate は、カレンダー コントロールの現在選択されている日付を保持する別の変数です。

    var date = new Date();
    date.setDate(date.getDate() - 1);

    $("#datepicker").datepicker({
        dateFormat: "yy-mm-dd",
        defaultDate: date,
        onSelect: function () {
            selectedDate = $.datepicker.formatDate("yy-mm-dd", $(this).datepicker('getDate'));
        }
    });

    $("#datepicker").datepicker("setDate", date);

DatePicker については Keith Wood (http://keith-wood.name/datepickRef.html) 以下は機能します。デフォルトの日付の設定は最後であることに注意してください。

    $('#datepicker').datepick({
        minDate: 0,
        maxDate: '+145D',
        multiSelect: 7,
        renderer: $.datepick.themeRollerRenderer,
        ***defaultDate: new Date('1 January 2008')***
    });

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

私が見つけた回避策は、指定された入力の value 属性を単純に更新することです。もちろん、日付ピッカー自体は更新されませんが、日付を表示することだけを探している場合は、正常に機能します。

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
$('.date-pick').datePicker().val(new Date()).trigger('change')

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

setDate は、jquery UI で使用されるインライン デートピッカーにのみ問題があるようです。特定のエラーは InternalError です。再帰が多すぎます。

これは私にとってはうまくいきます:

$("#dateselector").datepicker("option", "defaultDate", new Date(2008,9,3));

これは古いスレッドですが、私がどのように使用したかについていくつかの情報を提供したいと思います。今日の日付を設定したい場合は、以下のように簡単に適用できます。

 $("#datepickerid").datepicker("setDate", "0");

現在の日付の前後何日かを設定したい場合は、記号を使用します。 -/+ 以下のように、希望する日数の記号を入力します。

 $("#datepickerid").datepicker("setDate", "-7");
 $("#datepickerid").datepicker("setDate", "+5");

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

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

幸運を!

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 属性は現在の日付の前の日付を示します)

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

$('.date-pick').datePicker().val(new Date()).trigger('change')
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top