javascript - 如何使用 Angular JS 从复选框获取选中的值

标签 javascript angularjs arrays json

我是 Angular JS 新手。我有以下复选框,数据来自网络服务:

 <label ng-repeat="r  in MedicalConditions track by $index">
    <input ng-model="ids[$index]" type="checkbox" ng-checked="r.value"> 
       {{r.conditions_name}}
    </label>

console.log 中的值完全符合我的要求。如何将值推送到数组,即 arr[] 并将其字符串化。我尝试过这样的代码..

//获取医疗状况列表

$scope.parameter = "{}";
$scope.class0 = "{}";
$http.get('http://192.168.1.129:8080/apartment//member/medical/conditions/list').then(function(response) {
    $scope.MedicalConditions = response.data.list;
});

  $scope.$watchCollection('ids', function(newVal) {     
       $scope.parameter.class0 = $scope.ids;
    }); 


$scope.alertdata = function() {
    var parameter = {
        "first_name": $scope.first_name,

        "role": [{
            "role_id": 1,
            "name": "Admin",
            "details": "text"
        }],
        "associated": [{
            "associated_id": 1,
            "associated_name": "Parent",
            "primary_member_id": 1
        }],
        "class0": $scope.ids
    }
    parameter = JSON.stringify(parameter);

最佳答案

也许这会有所帮助:

angular.module('app', [])
  .controller('Controller', function($scope) {
  
  $scope.ids = {};
  $scope.arr = {};
  
  $scope.MedicalConditions = {};
  
  $scope.MedicalConditions[0] = {};
  $scope.MedicalConditions[0].value= true;
  $scope.MedicalConditions[0].conditions_name= 'first value';
  
  $scope.MedicalConditions[1] = {};
  $scope.MedicalConditions[1].value= false;
  $scope.MedicalConditions[1].conditions_name= 'seconde value';
   
    $scope.$watchCollection('ids', function(newVal) {     
       $scope.parameter.class0 = $scope.ids;
    });
    
    
    $scope.parameter = {};
    $scope.parameter.firstname = 'dummy name';
    $scope.parameter.class0 = $scope.ids;
    

  });
<!DOCTYPE html>

<head>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
  <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

  <script src="script.js"></script>
</head>

<body ng-app="app">
  <div ng-controller="Controller">


    <label ng-repeat="r  in MedicalConditions track by $index">
     <input ng-model="ids[$index]" type="checkbox" ng-checked="r.value" > {{ r.conditions_name}}
     </label>
  
  
  <br>
  
  Parameter: {{parameter}}


  </div>
</body>

</html>

关于javascript - 如何使用 Angular JS 从复选框获取选中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43581016/

相关文章:

javascript - 这是根据 angularjs 中的根组织显示和隐藏 html 的代码的好方法吗

Java - 在值的第一个实例处拆分数组

javascript - 属性名称为 `undefined`

javascript - 如何删除选定的文本,目前是双击删除整个文本框

angularjs - 如何将验证属性添加到 md-autocomplete Angular Material 指令

javascript - AngularJS:$route 和 $routerProvider 之间的区别?

c - C 字符串的反向数组

arrays - 为什么遍历数组比 Seq.find 更快

javascript - 基于子项的自动百分比宽度

javascript - Angular $scope 首先设置值而不是服务,在第二个函数调用后一切正常