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>