如何获取已选中复选框前面的值,并将这些值从HTML传递给Controller.js

问题描述 投票:-2回答:1

如果您可以为HTML和JS提供任何建议。我的应用程序的HTML代码如下:

<ul>
 <li ng-repeat=" opt in bcfList track by $index" ><input type="checkbox" ng-model="bcfList[opt]" />
 {{ opt }}
 </li></ul>

我的应用程序的Controller.js如下:

$scope.bcfList=data.BCFNUMBER;
                $scope.getbcfnumber = function(index) {
                    $scope.bcflist=data.BCFNUMBER;
                    console.log($scope.selected);
                }

BCFNUMBER是使用map函数从后端controller.java获取的列表的键值。

html angularjs json
1个回答
1
投票

如果你可以添加包括$scope.bcfList的样本值将能够帮助更好。

使用为$scope.bcfList发送的json值更新了代码

    <!DOCTYPE html>
<html>

<head>
  <script data-require="[email protected]" data-semver="3.0.0" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.js"></script>
  <link data-require="[email protected]" data-semver="3.3.7" rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" />
  <script data-require="[email protected]" data-semver="3.3.7" src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
  <script data-require="[email protected]" data-semver="1.6.6" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.6/angular.min.js"></script>
  <script>
    (function() {

      angular.module("myapp", []).controller('MainCtrl', ['$scope', function($scope) {
        
        $scope.bcfList=  ["BCF-0025", "BCF-0049", "BCF-0051", "BCF-0091", "BCF-0096", "BCF-0100", "BCF-0115", "BCF-0117", "BCF-0118", "BCF-0130"];
        
        $scope.checkedbcfList = [];
        $scope.checkedBcf = function(item) {
          if($scope.bcfList[item]){
            $scope.checkedbcfList.push(item);
          }
          else{
            var index = $scope.checkedbcfList.indexOf(item);
            if (index !== -1) {
                $scope.checkedbcfList.splice(index, 1);
            }
          }
        }
        
        
        /*$scope.getbcfnumber = function() {
            $scope.checkedbcfList = [];
            angular.forEach($scope.bcfList, function (item, index) {
              if($scope.bcfList[item]){
                $scope.checkedbcfList.push(item);
              }
            });
        }*/

      }]);
    }());
  </script>
  <style></style>
</head>

<body ng-app="myapp" ng-controller="MainCtrl">

  <ul>
    <li ng-repeat=" opt in bcfList track by $index">
      <input type="checkbox" ng-model="bcfList[opt]" ng-change="checkedBcf(opt)"/> {{ opt }}
    </li>
  </ul>

  <!--<input type="button" value="Get checked bcf" ng-click="getbcfnumber()"/> -->
  
  <div>checked BCF list: {{checkedbcfList}}</div>
  

</body>

</html>
© www.soinside.com 2019 - 2024. All rights reserved.