2013-06-03 84 views
6

私は入力欄にdatepickerを持っています。
私が最初に開いたときのデフォルトの日付は、私が望むものです。
しかし、DatePickerのはまだ私が欲しいしない、その上で選択した日付を持っている私は、日付を選択して、私は、入力フィールドをクリアし、
とき:P

は、誰もが、これはなぜ起こるかのアイデアを持っているとどのようにIいこの動作を防ぐことができますか?jquery UI datepickerリセット日

Thxを、

J.

+4

コードをご記入ください。 – vlio20

+0

日付を選択して入力フィールドをクリアすることはどういう意味ですか?そのフィールドでdatepickerを起動せずに入力フィールドを直接クリアしてクリアするということですか? – dreamweiver

+1

$ .datepicker._clearDate(this)を使用します。ここにあなたの入力フィールド – Dineshkani

答えて

6

は、日付ピッカーウィジェットの日付をリセットするための適切な方法は、このようなものですhttp://codepen.io/alexgill/pen/yOQrwV

$(SELECTOR).datepicker('setDate', null); 
+1

これはプライベートAPIなので、警告なしでもいつでも破損する可能性があります... – gamov

+0

正確には、_ APIは常にプライベートです –

35

を参照してください:

$.datepicker._clearDate('#input_field_goes_here'); 

またはこのような:

$('#input_field_goes_here').datepicker('setDate', null); 

いずれにしても最適です。

+0

+1、素晴らしい答え – SagarPPanchal

+3

もう1つは公式です回答。プライベートAPIを使用することは悪い考えです。 –

+0

合意。第2のものが最高のものです。 – nurider

2

カレンダーのクリアボタン。

$("#txtCalendar").datepicker({ 
     showButtonPanel: true, 
     closeText: 'Clear', 
     onClose: function (dateText, obj) { 
      if ($(window.event.srcElement).hasClass('ui-datepicker-close')) 
       $("#txtCalendar").val(''); 
     } 
    }); 
+2

素晴らしいですが変更された$( "#txtCalendar")。val( ''); $(this).val( '');に複数のインスタンスの場合 –

0

ただ、あなたはそれが読み取り専用モードである場合でもクリアフィールドにバックスペースを使用することができます

}).keyup(function(e) { 
    if(e.keyCode == 8 || e.keyCode == 46) { 
     $.datepicker._clearDate(this); 
    } 
}); 

このコードを追加します。 Source

関連する問題