使用ng-repeat创建的表单的动态名称属性

时间:2014-09-07 01:15:25

标签: angularjs angularjs-directive angularjs-scope

我使用ng-repeat来获取数据。从这些数据我做出如下选择框:

  <div ng-show="catAddons">
    <div ng-repeat="group in catAddons">
      <h4 class="addonTitle">{{group.name}}</h4>
      <div ng-show="group.group_optiontype == 'single'">
        <select ng-model="addItem.singleAddonCat" ng-options="singleAddon as formattedLabel(singleAddon) for singleAddon in group.addons track by singleAddon.addon_id" name="singleAddonCat" class="form-control-wrapper col-xs-12 col-sm-12 col-lg-12">
           <option value="" ng-hide="singleAddonCat">Please Choose... </option>
        </select>
      </div>
    </div>
  </div>

这样可能会有10多个这样的小盒子。但问题在于&#34; name&#34; tag ...因为出于某种原因,当它们都具有相同的名称和相同的模型时,只有一个选择框可以工作。我尝试使用动态名称属性为使用ng-repeat - {{group.id}}创建的表单创建名称dynamix但是当我发布它不显示id时,视图也不起作用.... ..

我该怎么做?

1 个答案:

答案 0 :(得分:0)

使用ng-attr-*(在本例中为ng-attr-id)可能会有所帮助。对于唯一性,$index内的ng-repeat属性可能会对您有所帮助。

警告 - 浏览器如何实现select / options并在循环中创建它们可能会导致问题。 Angular团队将ng-options作为解决方法。我真的建议你改用它。