使用AngularJS从选择选项中删除空白选项

使用AngularJS从选择选项中删除空白选项,第1张

使用AngularJS从选择选项中删除空白选项

option
ng-model
传递给的一组选项中不存在被引用的值时,将生成空值
ng-options
。这样做是为了防止意外选择模型:AngularJS可以看到初始模型是未定义的还是未在选项集中,并且不想自行决定模型的值。

简而言之:空选项意味着没有选择有效的模型(有效的意思是:从选项集中)。您需要选择一个有效的模型值来摆脱此空选项。

像这样更改代码

var MyApp=angular.module('MyApp1',[])MyApp.controller('MyController', function($scope) {  $scope.feed = {};  //Configuration  $scope.feed.configs = [    {'name': 'Config 1',     'value': 'config1'},    {'name': 'Config 2',     'value': 'config2'},    {'name': 'Config 3',     'value': 'config3'}  ];  //Setting first option as selected in configuration select  $scope.feed.config = $scope.feed.configs[0].value;});<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script><script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><div ng-app="MyApp1">  <div ng-controller="MyController">    <input type="text" ng-model="feed.name" placeholder="Name" />    <!-- <select ng-model="feed.config"><option ng-repeat="template in configs">{{template.name}}</option></select> -->    <select ng-model="feed.config" ng-options="template.value as template.name for template in feed.configs">    </select>  </div></div>

工作中的JSFiddle演示

更新(2015年12月31日)

如果您不想设置默认值并想删​​除空白选项,

<select ng-model="feed.config" ng-options="template.value as template.name for template in feed.configs">      <option value="" selected="selected">Choose</option></select>

并且在JS中无需初始化值。

$scope.feed.config = $scope.feed.configs[0].value;



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4937425.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-13
下一篇 2022-11-13

发表评论

登录后才能评论

评论列表(0条)

保存