angularjs中下拉框select option默认值

http://www.111cn.net/wy/js-ajax/101967.htm


今天又被一个angularjs的一个问题给难住了,有花了比较多的时间去解决

option ng-repeat多空白项


<select class="form-control" ng-model="posts.website">
<option value="0">请选择网站</option>
<option ng-repeat="row in list.websites" value="{{row.websites_id}}" >{{row.websites_name}}</option>
</select>
请看上面的代码,ng-repeat在循环的时候发现了一个空白的选项,chrome解析出来代码是

chrome解析错误代码


<option value="? undefined:undefined ?"></option>

然后查了list.websites对象的值貌似没有问题

然后google一下,这里又要吐槽一下百度查不到结果
发现要初始化posts.website的值,于是用ng-init初始一下值,把代码修改成

<select class="form-control" ng-model="posts.website" ng-init="posts.website='0'">
<option value="0">请选择网站</option>
<option ng-repeat="row in list.websites" value="{{row.websites_id}}" >{{row.websites_name}}</option>
</select>

正常了,好坑啊

这文章里讲了怎么解决添加页面的option多出来的问题

在修改页面里我也是安装这个方法去处理,但是不行,给ng-model附上值就是显示不了默认值,最后在自己的摸索下解决了这个问题

正确方面

<select ng-model="posts.website" ng-options="c.websites_id as c.websites_name for c in posts.websites" class="form-control" ng-selected="c.websites_id==posts.website">
<option value="">请选择网站</option>
</select>

游览器解析的代码为

<select ng-model="posts.website" ng-options="c.websites_id as c.websites_name   for c in posts.websites" class="form-control ng-pristine ng-valid ng-touched" ng-selected="c.websites_id==posts.website">
<option value="" class="" selected="selected">请选择网站</option>
<option label="fdsaffd" value="number:4">fdsaffd</option>
<option label="fdsaffdsa" value="number:3">fdsaffdsa</option>
<option label="fdsaf" value="number:2">fdsaf</option>
<option label="小松博客" value="number:1" selected="selected">小松博客</option>
</select>


  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值