2015-07-19 75 views
1

HTML:角NG-模式选择选项第一个元素空

<select ng-model="item.visible"> 
     <option value="0">NO</option> 
     <option value="1">YES</option> 
</select> 

项目:

$scope.item.visible = 1; //doesn't work 
$scope.item.visible = "1" //works fine 

我完全不明白为什么第一个解决方案不起作用,我的问题是,我从数据库中获取这个值,我不能将其更改为字符串。我认为解决方案可以使用指令。但我相信会有更好的解决方案。 感谢您的帮助。

+0

使用'NG-options'将避免这种极端情况 –

回答

1

它不起作用,因为Angular使用严格比较模型值和绑定到选项的值。如果您无法使用字符串值作为模型,你可以用ngInit指令将其丢在HTML:

<select ng-model="item.visible" ng-init="item.visible=item.visible + ''"> 
    <option value="0">NO</option> 
    <option value="1">YES</option> 
</select> 

那么它将既$scope.item.visible = 1;$scope.item.visible = "1";工作。

演示:http://plnkr.co/edit/kZJbVRtyHQ19LUbDALFx?p=preview

+0

非常感谢! – balicekt

+0

没问题,很高兴帮助。 – dfsq