单击保存按钮时,单选按钮模型将返回未定义的值

时间:2018-05-29 03:05:19

标签: html angularjs radio-button angularjs-ng-model

我有2个单选按钮,我指定了' 0'和' 1'分别。当我单击“保存”按钮时,我需要获取值,但它返回一个未定义的值。这是我的代码。可能是我的问题?

<tr ng-repeat="item in recruleData">
   <td>
       {{item.package_name}}
   </td>
   <td>
       <input type="radio" name="radio" ng-model="radio.selectedProductBlock"
            value="0"  >A<br/>
       <input type="radio" name="radio" ng-model="radio.selectedProductBlock"
            value="1" > B
    </td>
    <a class="btn btn-primary pull-right" ng-click="radioValue();">Save</a>
</tr>

我的JS代码

$scope.selectedProductBlock;
$scope.radioValue= function(){    
   alert($scope.selectedProductBlock);    
}

2 个答案:

答案 0 :(得分:0)

你需要在对象radio中定义一个boolean类型的变量,

$True

然后

和radioValue函数

'Yes'

答案 1 :(得分:-1)

根据您的要求,您需要在recruleData中定义无线电对象  每条记录

前:

 $scope.recruleData  = [
      {"package_name" : "package1", "radio":{"selectedProductBlock":""}},
      {"package_name" : "package1", "radio":{"selectedProductBlock":""}},
    ]

和radioValue函数

 $scope.radioValue= function(item){    
   alert(item.radio.selectedProductBlock);    
  }

此外,您需要为每个单选按钮组指定一个唯一的名称。您只需将$index附加到单选按钮名称即可。

HTML代码

<table>
    <tr>
      <th>Package</th>
      <th>Actioins</th>
      <th></th>
    </tr>
    <tr ng-repeat="item in recruleData">
   <td>
       {{item.package_name}}
   </td>
   <td>
       <input type="radio" name="radio_{{$index}}" ng-model="item.radio.selectedProductBlock"
            value="0"  >A<br/>
       <input type="radio" name="radio_{{$index}}" ng-model="item.radio.selectedProductBlock"
            value="1" > B
    </td>
    <td><a class="btn btn-primary pull-right" ng-click="radioValue(item);">Save</a></td>
</tr>
    </table>

工作JSFiddel