javascript - 设置嵌套单选按钮的值

标签 javascript angularjs ionic-framework

我在 ng-repeat 中有很多单选按钮列表。 我已成功获取所选项目。 现在我尝试设置 radio 的默认值。 有人能帮助我吗。这是我的按钮代码。 谢谢

VariableRadioArr2 = [{"id":"21","libelle":"P15m","type":"radio","valeur_1":"Oui","valeur_2":"Non","valeur_3":"","valeur_4":"","valeur_5":"","valeur_6":"","valeur_7":"","valeur_8":"","valeur_9":"","valeur_10":""},{"id":"25","libelle":"Surface (m²)","type":"input","valeur_1":"","valeur_2":"","valeur_3":"","valeur_4":"","valeur_5":"","valeur_6":"","valeur_7":"","valeur_8":"","valeur_9":"","valeur_10":""},{"id":"36","libelle":"p16","type":"radio","valeur_1":"Oui","valeur_2":"Non","valeur_3":"","valeur_4":"","valeur_5":"","valeur_6":"","valeur_7":"","valeur_8":"","valeur_9":"","valeur_10":""}]

$scope.itemGroups = VariableRadioArr2;
console.log(VariableRadioArr2);
//$scope.selected = 1;
$scope.VariableRadioToggle2 = true;

$scope.clickedVariableRadio2 = function(test)
{
    $scope.clickedVariableRadio2_select = JSON.parse(JSON.stringify($scope.itemGroups));
}

if(VariableRadioArr2.length == 0) 
{
    $scope.clickedVariableRadio2_select = [];
    $scope.VariableRadioToggle2 = false;
}
<ion-list id="page-list7" ng-show="VariableRadioToggle2">
   <div ng-repeat="itemGrp in itemGroups">
      <ion-item class="item-divider" id="page-list-item-divider32">{{itemGrp.name}}</ion-item>
      <ion-toggle name="{{itemGrp.name}}" ng-click="clickedVariableRadio2(portion.selected)" ng-repeat="(key,portion) in itemGrp.Portions" ng-model="itemGrp.selected_item" ng-true-value="'{{key}}'" ng-false-value="">{{portion.name}}</ion-toggle>
   </div>
</ion-list>

最佳答案

这里我正在执行一个从 1-10 的循环,将值复制到新对象中并删除旧对象。

var myApp = angular.module('myApp',[]);
function MyCtrl($scope) {
    var Variable = [{"id":"21","libelle":"P15m","type":"radio","valeur_1":"Oui","valeur_2":"Non","valeur_3":"","valeur_4":"","valeur_5":"","valeur_6":"","valeur_7":"","valeur_8":"","valeur_9":"","valeur_10":""},{"id":"25","libelle":"Surface (m²)","type":"input","valeur_1":"","valeur_2":"","valeur_3":"","valeur_4":"","valeur_5":"","valeur_6":"","valeur_7":"","valeur_8":"","valeur_9":"","valeur_10":""},{"id":"36","libelle":"p16","type":"radio","valeur_1":"Oui","valeur_2":"Non","valeur_3":"","valeur_4":"","valeur_5":"","valeur_6":"","valeur_7":"","valeur_8":"","valeur_9":"","valeur_10":""}];

  // Create sub object for all values 
  // and delete the old values
  for (i = 0; i < Variable.length; i++) {
      Variable[i].values = {};
      Variable[i].selected = '';

      for (v = 1; v < 11; v++) {
        if(Variable[i]['valeur_'+v] != undefined){
          Variable[i].values['valeur_'+v] = Variable[i]['valeur_'+v];
          delete Variable[i]['valeur_'+v];
        }
      }
  }
  
  $scope.itemGroups = Variable;
  
  // Set defaults
  // By index
  $scope.itemGroups[1].selected = 'valeur_4';

}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.1/angular.min.js"></script>

<div ng-app="myApp" ng-controller="MyCtrl">
  <div ng-repeat="itemGrp in itemGroups">
    <div>{{itemGrp.libelle}}</div>
    <label ng-repeat="(key, value) in itemGrp.values">
      <input type="radio" name="{{itemGrp.id}}" ng-model="itemGrp.selected" ng-value="key">{{value}}
    </label>
  </div>
</div>

关于javascript - 设置嵌套单选按钮的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40834780/

相关文章:

html - 如何仅设置有序列表项的样式?没有嵌套在里面的无序列表项

angular - 固定 ionic 3 : property 'questions' does not exist on type 'Object'

javascript - 如何查找文件编码和解码?

javascript - 更改动画javascript后的文本内容

javascript - 优化 ng-repeat 次数 |angularJS

angularjs - IE 在使用 NTLM 身份验证时随机发送空 POST 正文(使用 Angular 到 Spring)

AngularJS - 加载时触发表单验证

angularjs - ionic - $state.go 存在参数问题

javascript - 在 React 中映射过滤后的数组

javascript - React - 单击按钮时如何显示相关元素