Модель радиокнопки возвращает неопределенное значение при нажатии кнопки сохранения - PullRequest
0 голосов
/ 29 мая 2018

У меня есть 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 голосов
/ 29 мая 2018

Вам необходимо определить переменную типа boolean внутри объекта radio,

$scope.radio = {};
$scope.radio.selectedProductBlock = false;

, а затем

и функцию radioValue

$scope.radioValue = function(){
   console.log($scope.radio.selectedProductBlock);
}
0 голосов
/ 29 мая 2018

Согласно вашему требованию, вам необходимо определить радиообъект в 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

...