4

value属性が「15-May-2012」に設定されたINPUTタグがあり、次のようにJQueryUIDatepickerを初期化しました。

<input type="text" name="schedule" id="schedule"
      value="15-May-2012">

<script type="text/javascript">
  $(function() {
    $( "#schedule" ).datepicker();
    $( "#schedule" ).datepicker( "option", "dateFormat", "d-M-yy" );
  });
</script>

何らかの理由で、Datepickerが初期化されると、INPUTタグの値がクリアされます。INPUTフィールドの値は、Datepickerに設定された形式と一致することに注意してください。

なぜ値がクリアされるのですか?

これがその実例です: http: //agnelkurian.com/lab/datepicker_example.html

4

3 に答える 3

12

日付ピッカーをバインドする場合:

$('#schedule').datepicker();

デフォルトを使用します。dateFormatこれは"mm/dd/yy";です。your"15-May-2012"はその形式と一致しないため、を使用して解析に失敗した場合、datepickerはそれをクリアします"mm/dd/yy"。次に、形式を変更します。

$("#schedule").datepicker("option", "dateFormat", "d-M-yy");

しかし、valueはすでに失われています。

日付ピッカーをバインドするときに形式を設定する必要があります。

$("#schedule").datepicker({
    dateFormat: 'd-M-yy'
});

デモ: http: //jsfiddle.net/ambiguous/mHyn7/ </ p>

于 2012-05-06T06:16:09.397 に答える
2

実際に機能するシンプルなソリューション:

var tmp = $('#schedule').val();
$("#schedule").datepicker("option", "dateFormat", "d-M-yy");
$("#schedule").val(tmp);
于 2015-06-30T09:29:23.747 に答える
-1
    $( "#schedule" ).datepicker();
$( "#schedule" ).datepicker( "option", "dateFormat", 'd-M-yy' );
$( "#schedule" ).val("15-May-2012");
于 2013-12-04T20:45:45.043 に答える