我有数据列表,它将以多个单选按钮的形式显示。每行将有3个字段。
ex:row1:abc,123,xyz 第2行:xyz,145,xyz
现在当我在第一行选择单选按钮时,它正在选择第二行。如何使该无线电行独特?
<label ng-repeat="list in data">
<table>
<tr
<td rowspan="2" >
<input type="radio" name="select" />
</td>
<td>
{{list.name}}
</td>
<td>
{{list.number}}
</td>
</tr>
<tr>
<td>
{{list.value}}
</td>
</tr>
</table>
另外我如何验证这些字段,如果它们以null形式出现我有显示错误信息,因为它是动态数据,而且这个页面是只读页面。
提前致谢
答案 0 :(得分:0)
对于空验证,您可以在ng-bind指令中使用条件,并选择不同的值,每行需要不同的名称
<label ng-repeat="list in data">
<table>
<tr
<td rowspan="2" >
<input type="radio" ng-attr-name="{{'select' + list.number}}" />
</td>
<td ng-bind="{{list ? list.number: 'error name'}}">
</td>
<td ng-bind="{{list ? list.number: 'error number'}}">
</td>
</tr>
<tr>
<td ng-bind="{{list ? list.value : 'error value'}}">
</td>
</tr>
</table>
我不确定ng-attr-name是否有效:(如果有效,请告诉我
答案 1 :(得分:0)
In html
<table>
<tr ng-repeat="data in list">
<td>
<input type="radio" ng-model="val.value" value="{{$index}}">
</td>
<td>
<span ng-show="data.name">{{data.name}}</span>
<span ng-hide="data.name">Error in name</span>
</td>
<td>
<span ng-show="data.number">{{data.number}}</span>
<span ng-hide="data.name">Error in number</span>
</td>
</tr>
</table>
In controller
$scope.val ={} // take this object this will store current row number
//$scope.val.value // contain row number
var data = $scope.list[$scope.val.value] // this will give u data at that row