3

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 要素のロード後に実行できるように、入力マスク コードをどこに置くことができますか?

4

1 に答える 1