我有两组无线电输入:
<input type="radio" value="0" ng-model="domestic" ng-checked="domestic"> Domestic
<input type="radio" value="1" ng-model="international" ng-checked="international"> International
和
<input type="radio" value="0" ng-model="domestic" ng-checked="domestic"> Verified
<input type="radio" value="1" ng-model="international" ng-checked="international"> Unverified
无论我在哪一个集合中输入哪个输入,我都希望它相应地更改另一个集合中的相同输入。
我这样写的是因为我希望它能双向工作。
这是绑定的正确方法吗?还是有更好的方法。
由于
答案 0 :(得分:1)
从抽象的角度考虑它。您现在正在做的是将两个无线电输入绑定到相同的值。如果您希望两个无线电输入在所有情况下都代表相同的数据值,那么您正在做的事情就好了。
否则,您始终可以将ng-checked
设置为某个功能。如果您有其他需要考虑的事项,这将是理想的选择。类似的东西:
<input type="radio" value="0" ng-model="domestic" ng-checked="domesticChecked()"> Domestic
使用:
$scope.domesticChecked = function(){
// you could do other checks here as well if it needed to be more complicated
return (domestic && someOtherConsideration) ? true : false
}
简而言之,如果您应用中的所有方案在这两个复选框之间呈现1:1值关联(如果选中一个,另一个始终也检查,反之亦然)那么您拥有的是什么很好。
答案 1 :(得分:0)
我认为你在寻找的是
<input type="radio" value="0" ng-model="domestic" name="x"> Domestic
<input type="radio" value="1" ng-model="domestic" name="x"> International
<input type="radio" value="0" ng-model="domestic" name="y"> Verified
<input type="radio" value="1" ng-model="domestic" name="y"> Unverified
演示:Fiddle
您需要为无线电元素指定名称以便对它们进行分组,然后如果使用相同的ng-model
,您应该没问题。