代码之家  ›  专栏  ›  技术社区  ›  JM-AGMS

使用平面阵列选择带有ng选项的默认选项

  •  1
  • JM-AGMS  · 技术社区  · 7 年前

    <option> 与…在一起 ng-options 使用平面阵列。我遇到的问题是选择我已经定义的默认选项元素。似乎是一个非常简单的任务,有吨吨类似的问题使用对象或对象数组吨,但我已经找到了一切,并试图为我的情况不工作。

    <div ng-app="MyApp">
      <div ng-controller="MyCtrl">
        <select ng-options="opt as opt for opt in testOpt" data-ng-model="resultOpt">
          <option value="">Choose Category</option>
        </select>
      </div>
    </div>
    
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.7.8/angular.min.js"></script>
    
    angular.module('MyApp', []).controller('MyCtrl', ['$scope', function ($scope) {
      $scope.testOpt = [
        'ID',
        'Name',
        'Email',
        'Address'
      ];
      $scope.resultOpt = '';
    }]);
    

    $scope.resultOpt = '' ng-init="resultOpt = ''" ,但这根本不起作用。 这对于一组对象非常有效 但不是简单的数组。我也不想脱离AngularJS框架,我不喜欢混合和匹配vanilla和AngularJS代码,事情会变得一团糟。

    我发现一个现有的jsFiddle适用于angularjs1.4.8,但至少对于angularjs1.7.8,当与平面数组一起使用时,它不起作用。不确定是功能在以后的版本中被删除了,还是只是一个bug。

    完整示例: https://jsfiddle.net/v4uesg02/4/

    如何在默认情况下使用平面数组而不超出AngularJS框架来选择“Choose Category”选项?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Community Mohan Dere    6 年前

    如何选择硬编码 null

    选择单个硬编码 <option> ,分配 无效的 对于模型:

    angular.module('MyApp', []).controller('MyCtrl', ['$scope', function ($scope) {
      $scope.testOpt = [
        'ID',
        'Name',
        'Email',
        'Address'
      ];
      ̶$̶s̶c̶o̶p̶e̶.̶r̶e̶s̶u̶l̶t̶O̶p̶t̶ ̶=̶ ̶'̶'̶;̶
      $scope.resultOpt = null;
    }]);
    

    从文档中:

    (可选)单个硬编码 <选项> <select> 无效的

    有关详细信息,请参阅

    演示

    angular.module('MyApp', [])
    .controller('MyCtrl', ['$scope', function ($scope) {
    
      $scope.testOpt = [
        'ID',
        'Name',
        'Email',
        'Address'
      ];
      $scope.resultOpt = null;
    }]);
      
    <script src="//unpkg.com/angular/angular.js"></script>
    <body ng-app="MyApp" ng-controller="MyCtrl">
    
        <select ng-options="opt as opt for opt in testOpt"
                data-ng-model="resultOpt">
          <option value="">Choose Category</option>
        </select>
    
        <br><br>
        <button ng-click="resultOpt=null">Reset</button>
     
    </body>
        2
  •  1
  •   Yogesh Patil    7 年前

    我想对@georgeawg的答案补充一点,就是把disabled作为选项的一个属性,这样以后就不能重新选择它了

    <option value="" disabled>Choose Category</option>