【问题标题】:dynamic name attributes for forms that are created with ng-repeat使用 ng-repeat 创建的表单的动态名称属性
【发布时间】:2014-09-07 09:30:15
【问题描述】:

我正在使用 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 多个这样的选择框。但问题在于“名称”标签的形式......因为由于某种原因,当它们都具有相同的名称和相同的型号时,只有一个选择框可以工作。我尝试使用动态名称属性为使用 ng-repeat-{{group.id}} 创建的表单制作名称 dynamix,但是当我发布此内容时,它不显示 id,视图也不起作用.... ..

我该怎么做?

【问题讨论】:

标签: angularjs angularjs-directive angularjs-scope


【解决方案1】:

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

警告 - 浏览器如何实现选择/选项存在问题,并且在循环中创建它们可能会导致您出现问题。 Angular 团队将ng-options 作为一种解决方法。我真的建议您改用它。

【讨论】:

    猜你喜欢
    • 2015-12-23
    • 2015-02-15
    • 1970-01-01
    • 2017-08-11
    • 1970-01-01
    • 2017-03-24
    • 1970-01-01
    • 2017-04-29
    • 1970-01-01
    相关资源
    最近更新 更多