AngularJS系列之select下拉选择第一个选项为空白的解决办法
2016-09-09 18:08
501 查看
今天给大家介绍一下AngularJS系列之select下拉选择第一个选项为空白的解决办法。
相信大家也经常遇到这种情况吧:在使用AngularJS中的select组件开发的时候,莫名其妙的第一个选项就变成空白了,而且选中其中非空白的地方,第一个选项的空白位置又奇妙的消失了。
今天就举几个例子给大家介绍一下种种情况的处理办法,下面首先给出一个具体例子介绍一下:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script> </head> <body> <div ng-app="myApp" ng-controller="myCtrl"> <p>选择网站:</p> <select ng-model="selectedSite"> <option value="">请选择</option><!-- 这里是重点,必须将value值设置成空字符串,否则第一个选项还是会留空白出来--> <option ng-repeat="x in sites" value="{{x.url}}">{{x.site}}</option> </select> <h1>你选择的是: {{selectedSite}}</h1> </div> <script> var app = angular.module('myApp', []); app.controller('myCtrl', function($scope) { $scope.sites = [ {site : "Google", url : "http://www.google.com"}, {site : "Runoob", url : "http://www.runoob.com"}, {site : "Taobao", url : "http://www.taobao.com"} ]; }); </script> <p>该实例演示了使用 ng-repeat 指令来创建下拉列表,选中的值是一个字符串。</p> </body> </html>第一种办法就是在select的下面加上一个默认option,不过有一点必须特别注意,就是在option中的value值必须设置为“”(也就是空字符串),否则上面第一个选项还是会留空白出来。
这样可能就会有人说我第一个option要是不想获取的value值为空,那该怎么办,比如我第一个value值想设置成“请选择”这个字符串呢?
这种情况也好解决,下面看一下下面这个例子,大家就会明白要怎么做了。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script> </head> <body> <div ng-app="myApp" ng-controller="myCtrl"> <p>选择网站:</p> <select ng-model="selectedSite"> <option value="请选择">请选择</option><!--注意这个地方要和下面的设置的值要一致 --> <option ng-repeat="x in sites" value="{{x.url}}">{{x.site}}</option> </select> <h1>你选择的是: {{selectedSite}}</h1> </div> <script> var app = angular.module('myApp', []); app.controller('myCtrl', function($scope) { $scope.sites = [ {site : "Google", url : "http://www.google.com"}, {site : "Runoob", url : "http://www.runoob.com"}, {site : "Taobao", url : "http://www.taobao.com"} ]; $scope.selectedSite="请选择";<!-- 注意这个设置值,要和上面的value值相一致才可以--> }); </script> <p>该实例演示了使用 ng-repeat 指令来创建下拉列表,选中的值是一个字符串。</p> </body> </html>从例子中就可以看出,其实就是在value中添加自己想要的值信息,然后再控制器中进行传初始值。
但是这个时候大家可能会又有一个问题,就是我如果想第一个不想要默认值呢,我就想把数据的任意一个值放在第一个选项里面呢,而且还不能留空白在上面。
这种情况其实也好解决,下面就再看一个例子:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script> </head> <body> <div ng-app="myApp" ng-controller="myCtrl"> <p>选择网站:</p> <select ng-model="selectedSite"> <option ng-repeat="x in sites" value="{{x.url}}">{{x.site}}</option> </select> <h1>你选择的是: {{selectedSite}}</h1> </div> <script> var app = angular.module('myApp', []); app.controller('myCtrl', function($scope) { $scope.sites = [ {site : "Google", url : "http://www.google.com"}, {site : "Runoob", url : "http://www.runoob.com"}, {site : "Taobao", url : "http://www.taobao.com"} ]; $scope.selectedSite=$scope.sites[0].url;<!-- 这里只要把想要第一次出来的url放在这里就可以实现option默认出现的效果了--> }); </script> <p>该实例演示了使用 ng-repeat 指令来创建下拉列表,选中的值是一个字符串。</p> </body> </html>从上面的例子可以很明显的看出,只要在控制器中添加相应的初始值,就可以实现select中默认选中的效果了。
这样基本就全部解决了select中第一个选项留空白的问题了。
如博客内容有问题或有疑义,请及时提出,不甚感谢。本人QQ:208017534
相关文章推荐
- AngularJS系列之select下拉选择第一个选项为空白的解决办法
- ionic(angularjs)select下拉选择第一个选项为空白的解决办法
- 关于angularjs的select下拉列表存在空白的解决办法
- 解决需求(刷新页面是select下拉框还原成第一个选项)
- angularjs下拉框空白的解决办法
- 类似智能购票的demo--进入页面后默认焦点在第一个输入框,输入内容、回车、right时焦点自动跳到下一个,当跳到select时,下拉选项自动弹出,并且可以按上下键选择,选择完成后再跳到下一个。
- 工行网银网上支付 提示选择证书,但下拉框是空白,无法选择导致不能支付 解决办法
- angularjs select 选择默认显示空白以及第一行空白的解决方法
- 安卓系统浏览器中select下拉按钮无法弹出选择面板奇怪问题解决
- Bootstrap系列 -- 15. 下拉选择框select
- ie chrome 跟 火狐 中 select 下拉框 option中不支持onclick事件的解决办法
- HTML中的select下拉框内容显示不全的解决办法
- ExtJS4 ComboBox选择第一个选项时不能触发select事件的处理
- Xcode4中code sign identity选项值不出下拉选择框的解决方法
- FusionCharts遮挡select下拉选项解决
- css解决select下拉表单option高度的办法
- EasyUI 系列之 combobox 默认选中第一个 添加请选择选项
- MSDN两天没有办法使用, 提示"当前子集中没有该选项,请选择其他子集",问题解决了
- UITableView 右边索引第一个出现空白情况的解决办法
- 生成证书时Distribution下面App Store and Ad Hoc 选项不能选择的原因及解决办法