javascript - 动态输入,避免在不同元素上重复

标签 javascript angularjs

我正在动态添加输入,但是一旦我尝试在一个元素中添加一个输入,就会在第二个元素中添加相同的输入,该元素是由于 ng-repeat 而存在的:

    <div ng-repeat="operation in operations">

            <p>{{operation.hola}}</p>

            <button class="btn" ng-click="addNewChoice([])">Add fields</button>                 

            <div data-ng-repeat="choice in choices track by $index">
                <input type="text" ng-model="choice.text">                      
            </div>              

    </div>

Controller

$scope.choices = [];
$scope.operations = [{
        hola: 'HELLO'
    }, {
        hola: 'BYE'
    }
    ];

$scope.addNewChoice = function() {
  $scope.choices.push(['']);
};

当您单击添加字段按钮时,它应该只在正确的框/表单中添加一个输入,而不是在两个框中添加。

我没有很好地解释自己,但这里我有一个 JSBin所以你可以检查我的问题。

最佳答案

稍微不同的方式,你也可以尝试一下

   <div ng-repeat="operation in operations">            
        <div class="panel">             
            <div class="panel-body">                
              <p>{{operation.hola}}</p>                 
            <button class="btn" ng-click="addNewChoice(operation)">Add fields</button>
            <div data-ng-repeat="choice in choices[operation.hola] track by $index">
                <input type="text" ng-model="choice.text">                      
            </div>
          </div>                
        </div>          
    </div>

JS

angular.module('ionicApp',[])

.controller('mainCtrl', function($scope) {
    $scope.choices = {};
    $scope.operations = [{
            hola: 'HELLO'
        }, {
            hola: 'BYE'
        }];

    $scope.addNewChoice = function(operation) {
      $scope.choices[operation.hola] = $scope.choices[operation.hola] || [];
      $scope.choices[operation.hola].push(['']);
    };    
});

DEMO

关于javascript - 动态输入,避免在不同元素上重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30657568/

相关文章:

angularjs - Krakenjs 如何将除某些 api 调用之外的所有请求路由到index.html?

javascript - 动态水平对齐 - 响应列

javascript - 如何动态显示数组的数组?

javascript - 从现有的谷歌图表 DataTable 对象创建数据透视表对象

javascript - 选择一次后,Ionicpopup 自动光标就会消失

javascript - 未满足的对等依赖生成器-karma@>=0.9.0

jquery - 为什么我的 ajax 调用在 Chrome 扩展中是同步的?

javascript - 使用angularjs在 View 页面中拆分冒号

javascript - 增加jquery中克隆输入的名称属性

javascript - 效率 : Max difference between two items in a subset of an integer array