我在角度控制器中有以下数据列表。
$scope.dataList = [
{id:1, name:"Record A", action:"A"}, //action : A = Authorized
{id:2, name:"Record B", action:"R"}, //action : R = Rejected
{id:3, name:"Record C", action:"P"}, //action : P = Pending
{id:4, name:"Record D", action:"A"},
{id:5, name:"Record E", action:"R"},
{id:6, name:"Record F", action:"A"}
];
我用三个单选按钮在每一行中显示数据,以便用户可以更新操作值。
<table border="1">
<thead>
<tr>
<th>Name</th>
<th>Pending</th>
<th>Authorize</th>
<th>Reject</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="data in dataList">
<td ng-bind="data.name"></td>
<td><input type="radio" name="action-{{data.id}}" ng-model="data.action" ng-value="'P'"></td>
<td><input type="radio" name="action-{{data.id}}" ng-model="data.action" ng-value="'A'"></td>
<td><input type="radio" name="action-{{data.id}}" ng-model="data.action" ng-value="'R'"></td>
</tr>
</tbody>
</table>
对于单选按钮的逻辑分组,我name="action-{{data.id}}"
为每一行使用了单独的单选按钮集。由于data.id
每条记录都是唯一的,因此在每一行中,单选按钮将具有相同的名称,因此具有相同的逻辑组。
它适用于现代浏览器,但不幸的是,我必须让它在 IE6 中运行。问题是 IE6 不允许name
在 DOM 中创建单选按钮后更改属性。因此name="action-{{data.id}}"
将保持所有单选按钮属于一个逻辑组。
有什么解决办法吗?我正在考虑编写一个在 DOM 中name
创建之前生成属性的指令。radio
是否可以使用指令?如果是这样,请帮助我。