わかりました、角度のあるUIマスクディレクティブを使用しています。私が使用しているフィルターは、時間「99:99」のフィルターです
私がやっていることは、入力ボックスの ng-model を取得し、それを文字列に変換し、文字列をループして、2 番目の場所に ":" を追加してから、フォーマットされた文字列を返すことです。しかし、私がそれを行うと、関数から返された結果は拡張されます。
入力ボックスに 1212 と入力すると、UI マスクを使用すると、ボックスで 12:12 のように表示されます。関数を呼び出すと、この 12:12undefined が返されます...誰か助けてもらえますか?
http://jsfiddle.net/edgaramaro/KWMmX/
ここに私のコード: HTML:
<div ng-controller="MyCtrl">
<input type="text" ui-mask="'99:99'" ng-model="time">{{time}}
<br>{{convert(time)}}
</div>
JS ファイル:
function MyCtrl($scope) {
$scope.time = '';
$scope.convert = function (input) {
var str = input + '';
var counter = 0;
var newStr = '';
while (counter <= str.length) {
if (counter === 2)
newStr += ':';
newStr += str[counter];
counter++;
}
return newStr;
}