0

私はいわゆるDateTimePicker.jsのカレンダーを使用し、htmlでも使用しました。

<input id="startDate" name="startDate" id="startDate" type="text" size="20" value="">
    <a href="javascript:NewCssCal('startDate','ddMMyyyy','arrow')">
        <img src="images/cal.gif" width="16" height="16" border="0" alt="Pick a date"/></a>
</input>

問題は、次のjQueryでテストしようとしたが、どうやらうまくいかなかったので、どうすればカレンダーの変更を検出できるかということです:

   <input id="startDate" name="startDate" id = "startDate" type="text" size="20"  value="">
   <script type="text/javascript">$(document).ready(function() {
        $("#startDate").bind('change', function(e) {
            alert('changing date!');
        });
    });
   </script>
   <a href="javascript:NewCssCal('startDate','ddMMyyyy','arrow')">
      <img src="images/cal.gif" width="16" height="16" border="0" alt="Pick a date"/>
   </a>
   </input>
4

1 に答える 1

1

出力(ビューソース)は次のようなものです

<input id="startDate" readonly="readonly" name="startDate" id = "startDate" type="text" size="20"  value="">

readonly="readonly"が含まれているため、変更イベントが発生しないため、入力が読み取り専用になります。

解決:

1)ページの読み込み時に、変数を作成してstartDateテキストボックスの値を保存し、settimeout関数を使用して変数でテキストボックスの値を定期的にチェックし、関数を呼び出してテキストボックスの変更時にタスクを実行します。

2) ドキュメントの準備ができて dom が読み込まれたら、テキスト ボックスの readonly プロパティを FALSE に設定し、disabled=true に設定するコードを記述します。次に、変更イベントをバインドして使用します。

$(document).ready(){function(){  your code here });

3) jquery UI datepickerを使用します。使用と実装が簡単です。

于 2012-12-19T05:08:16.713 に答える