Javascript 在angular js中动态添加复选框? {{field.field_title}无下划线}: *必需的

Javascript 在angular js中动态添加复选框? {{field.field_title}无下划线}: *必需的,javascript,angularjs,Javascript,Angularjs,这是我常用的js代码。。我想动态添加复选框,它添加得很好。但问题是,当我选中一个复选框时,另一个复选框也会被选中。。我不知道该怎么办?有什么帮助或建议吗?这是因为当您执行id=“{field.field\u title}}”操作时,所有复选框都会获得相同的id。改为类似于option.id 您还将它们全部绑定到代码中的ng model=“field.field\u value”,它应该是ng model=“option.value”(或者选项中的数据的任何属性都是正确的) <div cl

这是我常用的js代码。。我想动态添加复选框,它添加得很好。但问题是,当我选中一个复选框时,另一个复选框也会被选中。。我不知道该怎么办?有什么帮助或建议吗?

这是因为当您执行
id=“{field.field\u title}}”操作时,所有复选框都会获得相同的id
。改为类似于
option.id

您还将它们全部绑定到代码中的
ng model=“field.field\u value”
,它应该是
ng model=“option.value”
(或者选项中的数据的任何属性都是正确的)

 <div class="field row">
   <div class="span2">{{field.field_title|underscoreless}}:</div>
     <div class="span4">
        <div ng-repeat="option in field.field_options" class="row-fluid">
          <label>
            <input type="checkbox" value="{{option.option_value}}" name="{{field.field_title}}[]" id="{{field.field_title}}" ng-required="field.field_required" ng-model="field.field_value" ng-disabled="field.field_disabled"/>
            &nbsp;<span ng-bind="option.option_title"></span>
          </label>
       </div>
         <span class="required-error" ng-show="field.field_required && !field.field_value">* required</span>
    </div>
  </div>
表示所有复选框的一个模型。你也必须使模型动态化

溶质

ng-model="field.field_value"

正如前面所指出的,您将每个复选框绑定到同一个模型,这将导致在选中一个复选框时同时选中所有复选框(单击更新模型=>这将触发再次更新视图,选中所有复选框)。 尝试将选项值绑定到如下数组:

ng-model="field[field_value]"
整个模板代码:

ng-model="field.value[option.value]"
field.value的值如下

{"A":false,"B":false,"C":true}

看看这个plnkr:

如果我删除id属性,那么同样的事情也会发生。。但是,如果我删除ng模型,它就可以正常工作。。但我想在单击“添加更多”按钮时添加复选框的数量。我还需要ng模型属性。每个复选框的id和ng模型值都必须是唯一的。如果ng模型绑定到相同的范围值,则单击其中一个复选框时,所有复选框都将更改
请制作一个plunker,它应该可以工作,也许你做错了什么。你能为它制作JS提琴,以便我可以跟踪确切的问题吗
$scope.field = {
  title:'Test Field',
  options:[
    {
      value: 'A',
      title: 'Option A'
    },
    {
      value: 'B',
      title:'Option B'

    },
    {
      value: 'C',
      title: 'Option C'
    }]
}
{"A":false,"B":false,"C":true}