【问题标题】:How to get value of dynamically added input inside ng-repeat?如何在 ng-repeat 中获取动态添加的输入值?
【发布时间】:2015-09-28 22:36:18
【问题描述】:

我正在尝试获取单击框时创建的输入的值。这些输入在 ng-repeat 中。我尝试在 ng-click 内发送项目,但由于它在 ng-repeat 之外,它不起作用。我似乎无法弄清楚如何获取每个输入的值。 任何帮助将不胜感激!

HTML

<div class="tagBox" ng-repeat="item in inputs">
    <input ng-model="itemValue"/>
</div>
<span class="btn btn-link topic-link" ng-click="addInput(item)">
     Add Another Topic
</span>

JS

$scope.inputs = []
$scope.addInput = function(){
    $scope.inputs.push({})
}

【问题讨论】:

  • 您调用了传递参数的方法,但您的函数不接受任何参数,但似乎只是将完全空的对象推入数组。此外,您的 ng-model 似乎没有正确声明。你应该考虑发布你的问题,除非它只是一系列错别字。
  • 更新输入就足够了。我很确定你只是没有看到任何东西,因为你正在添加空对象......
  • 为什么要在重复之外的 ng-click 中添加项目?当添加输入函数不接受参数而只是推送一个空对象时,为什么要传递一个参数?您还为重复中的每个项目设置了一个模型,这将不起作用。当你说“我正在努力获得价值”时,你到底是什么意思?这很令人困惑,因为您在这里的代码实际上没有意义:( .

标签: angularjs ng-repeat angularjs-ng-model


【解决方案1】:

现在看起来是您将所有输入绑定到 $scope.itemValue。获取该信息的最佳方法是将 $scope.itemValue 初始化为一个数组,然后执行以下操作:

<div class="tagBox" ng-repeat="item in inputs">
    <input ng-model="itemValue[$index]">
</div>

然后您可以在 $scope.itemValue 数组中获取所有值。

【讨论】:

    猜你喜欢
    • 2022-11-10
    • 2018-11-24
    • 1970-01-01
    • 2021-08-24
    • 1970-01-01
    • 1970-01-01
    • 2021-01-19
    • 2013-04-22
    • 1970-01-01
    相关资源
    最近更新 更多