Angular ng-model选择第一个元素为空

时间:2015-07-19 22:11:00

标签: angularjs select

HTML:

<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

我绝对不明白为什么第一个解决方案不起作用我的问题是我从数据库中获取此值而我无法将其更改为字符串。我认为解决方案可以使用指令。但我相信会有更好的解决方案。 谢谢你的帮助。

1 个答案:

答案 0 :(得分: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