2

HTML ドキュメントに一連の日付入力テキスト フィールドがあります。値が変更されたら、onchange イベントを発生させて何らかの処理を実行したいと考えています。

ユーザーが日付を簡単に選択できるように、これらの日付フィールドに日付ピッカーを設定しました。

また、これらのフィールドにマスクを設定して、.mask('99/99/99?99')必要な形式が表示されるようにし、スラッシュを入力する必要がないようにしました。

フィールドに日付ピッカーとマスクの両方を実装し、それらをクリックしてからクリックすると、フィールドで何も変更していなくても、onchange イベントが発生します。マスクを削除すると、フィールドが変更されない限り、日付ピッカーはonchangeを起動せずに機能します。日付ピッカーを削除し、フィールドにマスクを残してクリックインおよびクリックアウトすると、フィールドを変更しない限り、onchange は起動しません。マスクと日付ピッカーを組み合わせた場合にのみ、クリックしてオンチェンジしたときにオンチェンジが発生します。

フィールドで個別の mask() 呼び出しを使用せずに、日付ピッカーで入力をマスクする方法はありますか? フィールドが実際に変更されたかどうかを日付ピッカーで判断する方法はありますか?

自分で試してみる例を次に示します。

<!doctype html>

<html lang="en">
<head>
    <script type="text/javascript">
        function loadPage(){
            $('input.datepicker').datepicker().mask('99/99/99?99');
        }
    </script>
</head>

<body onload="loadPage();">
    Try it: <input type="text" onchange="alert('changed, do some stuff');" class="datepicker" />
</body>
</html>
4

0 に答える 0