gpt4 book ai didi

javascript - Angular UI 掩码格式化输出未定义

转载 作者:行者123 更新时间:2023-11-28 02:21:26 25 4
gpt4 key购买 nike

好的,我正在使用 Angular ui mask 指令。我使用的过滤器是针对“99:99”时间的过滤器

我正在做的是抓取输入框的 ng-model,将其转换为字符串,循环遍历该字符串,在第二个位置之后添加一个“:”,然后返回格式化的字符串。但是当我这样做时,从函数返回的结果在很大程度上是正确的。

假设我在输入框中输入 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;
}

最佳答案

问题出在您的 convert 函数中。您可以使用普通的旧 for 循环来简化它。

I've updated your fiddle

另外,这是我对相关代码所做的操作:

$scope.convert = function(str){
if(!str) return;
var counter = 0,
newStr = '',
max = Math.min(str.length, 4);
for(var i = 0; i < max; i++) {
if(i === 2) newStr += ':';
newStr += str[i];
}
return newStr;
}

关于javascript - Angular UI 掩码格式化输出未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15595123/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com