AngularJS: 如何在 onclick 中使用 $index
AngularJS: How can I use $index in onclick
因此,我使用 $index 为 ng-repeat 中的每个单选按钮创建不同的 ID。我想在本地事件(而不是 ng- 事件)中引用这些 ID。
我在这个plunker
中做了一个例子
在此示例中,我始终使用元素 radio3,但我想为每个名称引用正确的 ID。
<ul ng-repeat="person in persons">
<li onclick="$('#radio3').attr('checked', true);" ng-click="showIndex($index)">
<input type="radio" name="radio" id="radio{{$index}}">{{person.name}}
</li>
</ul>
谁能帮我弄清楚如何做这样的事情?
不要使用 onclick
,因为它很难表现得很好,相反,您需要使用 The Angular Way™ 使用内置 ng-click
和 ng-checked
<ul ng-repeat="person in persons">
<li ng-click="person.checked = true; showIndex($index)" ng-checked="person.checked">
<input type="radio" name="radio" ng-attr-id="radio{{$index}}">{{person.name}}
</li>
</ul>
注意:如果您不想编辑 persons
项,请改用一些哈希图:ng-click="selected[$index] = true"
和 ng-checked="selected[$index]"
因此,我使用 $index 为 ng-repeat 中的每个单选按钮创建不同的 ID。我想在本地事件(而不是 ng- 事件)中引用这些 ID。
我在这个plunker
中做了一个例子在此示例中,我始终使用元素 radio3,但我想为每个名称引用正确的 ID。
<ul ng-repeat="person in persons">
<li onclick="$('#radio3').attr('checked', true);" ng-click="showIndex($index)">
<input type="radio" name="radio" id="radio{{$index}}">{{person.name}}
</li>
</ul>
谁能帮我弄清楚如何做这样的事情?
不要使用 onclick
,因为它很难表现得很好,相反,您需要使用 The Angular Way™ 使用内置 ng-click
和 ng-checked
<ul ng-repeat="person in persons">
<li ng-click="person.checked = true; showIndex($index)" ng-checked="person.checked">
<input type="radio" name="radio" ng-attr-id="radio{{$index}}">{{person.name}}
</li>
</ul>
注意:如果您不想编辑
persons
项,请改用一些哈希图:ng-click="selected[$index] = true"
和 ng-checked="selected[$index]"