angularJS动态生成的li标签,使用ng repeat创建多个ul标签

时间:2016-06-02 15:13:40

标签: angularjs

以下代码包含输入框,单选按钮和按钮。

单击该按钮时,它将再生成一个输入框和单选按钮。所有的单选按钮都名称相同。

  <ul id = "listOfAnswers" ng-repeat="i in addQuestion.loop(addQuestion.numOfChoice) track by $index">
    <li>
        answers:<input type="text"/>
        correct:<input type="radio" name="correctChoice" value ={{$index}}/>
    </li>
  </ul>
  <button ng-Click="addQuestion.numOfChoice = addQuestion.numOfChoice + 1">add more choices</button><br/><br/>

当我在浏览器中打开它时,当我检查它时显示正确,它显示

<ul ..>
  <li> [...] </li>
</ul>

<ul .. >
  <li> [...] </li>
</ul>

所以每次重复它都会生成另一个ul标签。问题是我试图通过使用getElementById("ul-tag-id").children来获取最后的所有li项并使用它来调整它。我可以为每个li项目分配一个类名,但我更喜欢以前的方法,neater。

我在这里做错了吗?另外我只是知道有自定义指令,我不能决定什么时候我应该把它们放在控制器里,当我把它们放在一个指令中时。我在网上找到的很多教程已经过时了,我不确定应该遵循哪些建议?

1 个答案:

答案 0 :(得分:5)

应该在要重复的元素上使用

ng-repeat。看起来您需要将其移至li元素。

一些学习资源: