使用 AngularJS 从选择选项中删除空白选项 [英] Remove Blank option from Select Option with AngularJS

查看:24
本文介绍了使用 AngularJS 从选择选项中删除空白选项的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是 AngularJS 的新手.我搜索了很多,但没有解决我的问题.

我第一次在选择框中得到一个空白选项.

这是我的 HTML 代码

<div ng-controller="MyController"><input type="text" ng-model="feed.name" placeholder="Name"/><选择 ng-model="feed.config"><option ng-repeat="configs 中的模板">{{template.name}}</option></选择>

JS

var MyApp=angular.module('MyApp1',[])MyApp.controller('MyController', function($scope) {$scope.feed = {};//配置$scope.configs = [{'name': '配置 1','值':'配置1'},{'name': '配置 2','值':'config2'},{'name': '配置 3','值':'config3'}];//将第一个选项设置为在配置选择中选择$scope.feed.config = $scope.configs[0].value;});

但是好像不行.我怎样才能解决这个问题?这是 JSFiddle 演示

解决方案

参考:为什么angularjs在select中包含空选项?

<块引用>

当传递给 ng-optionsng-model 引用的值时,会生成空的 option>.这样做是为了防止意外的模型选择:AngularJS 可以看到初始模型未定义或不在选项集中,并且不想自行决定模型值.

简而言之:空选项意味着没有选择有效模型(有效我的意思是:从选项集中).您需要选择一个有效的模型值才能去掉这个空选项.

像这样改变你的代码

var MyApp=angular.module('MyApp1',[])MyApp.controller('MyController', function($scope) {$scope.feed = {};//配置$scope.feed.configs = [{'name': '配置 1','值':'配置1'},{'name': '配置 2','值':'config2'},{'name': '配置 3','值':'config3'}];//将第一个选项设置为在配置选择中选择$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="configs 中的模板">{{template.name}}</option></选择>--><select ng-model="feed.config" ng-options="template.value as template.name for template in feed.configs"></选择>

正在运行的 JSFiddle 演示

更新(2015 年 12 月 31 日)

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


                
            
发送“验证码”获取 | 15天全站免登陆