问题描述:
这段代码遍历时总会多一个<option value="? number:xxx ?" class=""></option>,而且点编辑后跳转到这个页面还不能回显
<select class="form-control" name="form.charttype" ng-model="form.charttype" ng-change="charttypeselector();"> <option value="">请选择</option> <option value="new">新增</option> <option value="disabled" disabled>————————</option> <option value="{{ type.id }}" ng-repeat="type in charttypes">{{ type.name }}</option> </select>
结果如下:
解决办法:
把你的ng-model绑定的数据变成字符串(可以+""来实现)
原因是你ng-repeat遍历出来的是字符串,ng-model却是个number,这里说的值都是id值,匹配不上造成(如果说错了打身上可以但别打脸),如果你是放在select里写ng-options请另外开个百度页
网上找了很多办法,大多数都是把遍历放在select里用ng-options(用for)来遍历,并说用track by xxx.id来解决,但那种情况直接把“请选择”,“新增”,“--------”都干掉了,
也有说在ng-repeat里用track by,我也试了没用,
也有说赋初值,
我是用上面方法解决了,还有点难找,百度里很少有,看了很多偶尔想起一个大神说的,贴在这里让其他人知道这个坑(而后绕行),
点个赞吧,你的鼓励是我最大的动力,多谢!