ng-repeat テーブル内に 2 つの日付フィールドがあり、コードは次のようになります。
<tr ng-repeat="ol in orderLines">
<td>
<input class="audioStartTime" type="text" ng-model="ol.AudioStartTime"/>
</td>
<td>
<input class="audioEndTime" type="text" ng-model="ol.AudioEndTime"/>
</td>
名前が示すように、audioStartTime と audioEndTime は時間フィールドなので、入力マスクを適用する必要があります。次のコードを使用しました。
$('.audioStartTime').each(function(index) {
$(this).inputmask("hh:mm:ss", {placeholder: "HH:MM:SS", insertMode: false, showMaskOnHover: false});
});
このコードをテストしました。パーツが完全に読み込まれ、開発者ツールのコンソールに入力すると、かなりうまく機能します。ただし、問題は、このコードを document.ready に入れると、これが機能しないように見えることです。
angularJS には、ng-repeat データの計算後にテーブルの内容をリロード/再レンダリングするメカニズムがあるように思えます。本当?そうですか、angularJS 要素のロード後に実行できるように、入力マスク コードをどこに置くことができますか?