我在列表中有一个使用ng-repeat的输入。输入的id列为“newLicName”。问题是,因为它是ng-repeat,这意味着它创建了多个输入(列表中每个项目一个),所有输入都具有相同的ID(“newLicName”),所以当我尝试在javascript中检索该值时(通过document.getElementById('newLicName')),它只检索具有该ID的第一个输入的值。我对该问题的解决方案是删除输入并将其放在li标签之外的div中,然后在单击时将其移动到特定列表项旁边,但我似乎无法找到如何使用angularJS
例如:
<li ng-repeat="item in items">
{{item.name}}
<a href="#" ng-click="doThis(item)">Click</a>
<div id="placeWithin"></div>
</li>
<div id="content">
<input id="newLicName" value="Content in here" />
</div>
$scope.doThis = function (item){
//code here
}
在此示例中,当我单击超链接时,我希望位于li标签之外的div放在li标签内。我如何通过angularJS实现这一目标?
答案 0 :(得分:1)
正如有人在评论中解释的那样,你可以简单地做这个来做出独特的输入:
<input id="placeWithin_{{$index}}"></div>
但是,如果您要做的是从输入中检索值,则不必诉诸此javascript hack。您可以使用ng-model绑定输入,并按照这篇文章学习如何在ng-repet中处理ng-model: