【问题标题】:NAN assigned to the ng-repeat $index in Angular JSNAN 分配给 Angular JS 中的 ng-repeat $index
【发布时间】:2016-08-25 20:54:04
【问题描述】:

我的 HTML 中有一个隐藏属性为

<input id="temp" type="hidden" name="country" value="{{$index + 1}}" ;>

注意 {{$index + 1}} 是写在隐藏标签上方的 ng-repeat 的索引。

现在我正在尝试获取这个临时隐藏变量的值(尝试获取索引的值)。

<script type="text/javascript" >
var tempo = document.getElementById("temp").value;
var tempi = parseInt(tempo) % 6;
console.log(tempi);
var imagepath = "img/products/coffee/coffee-"+tempi+".jpg" ;
document.getElementById("product-images").src = imagepath;
</script>

但是,当我看到分配给我的 img 标签的 src 属性的值时,它始终是 NAN。

请注意,{{$index + 1}} 的数据类型是 STRING。 因此,我将其转换为整数并尝试进行 mod 操作。 仍然为 tempi 变量获取 NAN。 知道我哪里出错了吗? 非常感谢。

【问题讨论】:

  • 当您尝试获取输入字段的值时?点击事件?模糊事件?请提供更多信息。
  • 输入字段没有意义。基本上我希望通过我的 img 属性显示 138 张图像,这些图像的来源是 img/products/coffee/coffee-"+tempi+".jpg" 格式。其中 tempi 在 {0 ... 6}
  • 所以在 js 文件中创建一个循环。为什么要在 dom 中添加隐藏的输入字段?

标签: javascript angularjs angularjs-ng-repeat nan parseint


【解决方案1】:

你可以试试这个:

HTML:

<input id="temp" name="country" ng-init="hiddenValue = ($index + 1)" ng-model='hiddenValue'>

JS:

<script type="text/javascript" >
    function MyCtrl($scope) {
        $scope.yourAngularFunction = funcion() {
            console.log($scope.hiddenValue);
        }
    }
</script>

虽然实际上有更好的方法来处理一般逻辑

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-09
    • 1970-01-01
    • 1970-01-01
    • 2015-09-15
    相关资源
    最近更新 更多