使用angularjs单击时将div移动到另一个div中

时间:2016-06-03 20:03:17

标签: javascript html angularjs

我在列表中有一个使用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实现这一目标?

1 个答案:

答案 0 :(得分:1)

正如有人在评论中解释的那样,你可以简单地做这个来做出独特的输入:

<input id="placeWithin_{{$index}}"></div>

但是,如果您要做的是从输入中检索值,则不必诉诸此javascript hack。您可以使用ng-model绑定输入,并按照这篇文章学习如何在ng-repet中处理ng-model:

Binding ng-model inside ng-repeat loop in AngularJS