【问题标题】:How do we get the Model value of each input text box?我们如何获取每个输入文本框的Model值?
【发布时间】:2015-07-16 04:03:54
【问题描述】:

AngularJS 作用域

$scope.myArrayOfPrimitives = [ 11, 22, 33, 44 ];
<ul>
    <li ng-repeat="(key, num) in myArrayOfPrimitives">
        <input ng-model="num">
    </li>
</ul>
<input type="button" ng-click="getAllNumTextModelValue=()" value="submit">

每个ng-repeat,将创建一个子作用域,并且该子作用域将原型继承自父作用域(childscope = scope.$new()) - 因此,可以使用“li”标签访问父作用域。 . 我使用“num”作为每个子范围的输入文本框的模型名称。因此,将创建一个模型,并将“num”模型值存储在其子范围内。因此,即使 angular 是双向绑定,也不会有任何不匹配。

我想在单击提交按钮时获取所有“num”模型值。

您能告诉我最好的方法是什么吗?

提前致谢

【问题讨论】:

    标签: angularjs angularjs-scope


    【解决方案1】:

    因此,您可以使用 $index 为您提供输入的索引。查看并尝试以下代码。

    • {{num[$index]}} :这将返回输入的值。 示例:输入 1 = 15 所以 num[0] = 15

    $scope.myArrayOfPrimitives = [ 11, 22, 33, 44 ];
    <ul>
        <li ng-repeat="(key, num) in myArrayOfPrimitives">
            <input ng-model="num[$index]">{{num[$index]}} // 
        </li>
    </ul>
    <input type="button" ng-click="getAllNumTextModelValue=()" value="submit">

    【讨论】:

    • 我认为,你没有得到我的观点......正如你所看到的例子,每个 ng-repeat 通常创建其父级的子范围......就像 childscope = scope.$new( ) - 这是通常存储当前模型值的范围 - 因此,此模型中更改的值不存在于将驻留在子范围中的 $scope 对象上 - 当我单击将触发 getAllNumTextModelValue 方法并且需要返回子范围的 $scope 对象..
    • 而且,我知道,这可以使用对象引用来完成,但是,我想知道如何通过示例中给出的原始类型来实现这一点。如果我是,请告诉我错了
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-07
    • 2011-05-04
    • 1970-01-01
    • 2015-09-03
    • 2012-02-11
    • 2023-03-03
    相关资源
    最近更新 更多