我需要将复选框输入的默认值设置为每个模型的现有值(即'quote.user.tracker'),然后在选择或取消选择时更改模型中的值(这里没问题) )。由于模型值由'是'/'否'字符串而不是真/假来表示,这很复杂。
quote.user.tracker:'quote'是我的控制器,'user'是整个对象,'tracker'是特定的属性。
我无法通过复选框来反映正确的起始值。
我目前的代码:
<input type="checkbox" name="Tracker" id="Tracker" ng-checked="quote.user.tracker='Yes'" ng-model="quote.user.tracker">
我已经尝试过使用下面的ng-show,但无济于事:
<input type="checkbox" name="Tracker" id="Tracker" ng-show="quote.user.tracker='Yes'"ng-model="quote.user.tracker" checked>
<input type="checkbox" name="Tracker" id="Tracker" ng-show="quote.user.tracker='No'"ng-model="quote.user.tracker" checked>
我做错了什么?谢谢!
答案 0 :(得分:2)
您不应将ng-checked
与ng-model
一起使用。来自docs:
请注意,此指令不应与
ngModel
一起使用,因为这可能会导致意外行为。
您可以使用ng-true-value
和ng-false-value
,如下所示:
<input type="checkbox"
name="Tracker"
id="Tracker"
ng-true-value="'Yes'"
ng-false-value="'No'"
ng-model="quote.user.tracker">
答案 1 :(得分:2)
=分配
==或===是比较
<input type="checkbox" name="Tracker" id="Tracker" ng-show="quote.user.tracker==='Yes'"ng-model="quote.user.tracker" checked>
<input type="checkbox" name="Tracker" id="Tracker" ng-show="quote.user.tracker==='No'"ng-model="quote.user.tracker" checked>