单选按钮从角度js和动态验证中的数据列表中错误地选择

时间:2015-09-02 06:51:40

标签: javascript jquery html angularjs

我有数据列表,它将以多个单选按钮的形式显示。每行将有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形式出现我有显示错误信息,因为它是动态数据,而且这个页面是只读页面。

提前致谢

2 个答案:

答案 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