代码之家  ›  专栏  ›  技术社区  ›  hud

使用angularJS无法获取radiobutton的值

  •  1
  • hud  · 技术社区  · 5 年前

    我想设置checked的值 radiobutton 在一个变量中。但我无法得到它。下面是我尝试的代码

    master.controller('FiberLead_Filter', function($scope, $http, NEIQC_Service, Scopes, $rootScope) {
          var rdSelectMP = $scope.MPSelect; // here I am getting undefined
        }
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.25/angular.min.js"></script>
    <div class="rightFilter" ng-controller="FiberLead_Filter as Filter" id="FiberLead_Filter">
      <div class="pdfDownload customeRadioWrap">
        <div class="customeRadio">
          <input type="radio" id="btnCurrentMP" name="radio-group" ng-model="MPSelect" ng-value="Current">
          <label for="btnCurrentMP">Current MP</label>
        </div>
        <div class="customeRadio">
          <input type="radio" id="btnAllMP" name="radio-group" ng-model="MPSelect" ng-value="All">
          <label for="btnAllMP">All MP</label>
        </div>
        <button class="btn btn-default customBtn" ng-click="DownloadExcelReport()"><i class="fa fa-file-pdf-o" aria-hidden="true"></i> Download</button>
      </div>
    </div>

    UNDEFINED

    1 回复  |  直到 5 年前
        1
  •  2
  •   briosheje    5 年前

    这是因为 ng-value 正在寻找“全部” $scope 变量,但可能没有。 如果期望值是字符串,则使用 'All' 或者,只是使用 value .

    angular.module('app', []);
    
    angular.module('app').controller('FiberLead_Filter', function($scope, $http, $rootScope) {
          $scope.DownloadExcelReport = function(){
            console.log($scope.MPSelect);
          }
        }
    );
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.25/angular.min.js"></script>
    <div ng-app="app">
      <div class="rightFilter" ng-controller="FiberLead_Filter as Filter" id="FiberLead_Filter">
        <div class="pdfDownload customeRadioWrap">
          <div class="customeRadio">
            <input type="radio" id="btnCurrentMP" name="radio-group" ng-model="MPSelect" value="Current">
            <label for="btnCurrentMP">Current MP</label>
          </div>
          <div class="customeRadio">
            <input type="radio" id="btnAllMP" name="radio-group" ng-model="MPSelect" value="All">
            <label for="btnAllMP">All MP</label>
          </div>
          <button class="btn btn-default customBtn" ng-click="DownloadExcelReport()"><i class="fa fa-file-pdf-o" aria-hidden="true"></i> Download</button>
        </div>
      </div>
    </div>