2015-07-19 76 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