Javascript 这是一只角形的虫子吗?该复选框不会重置两次
我正在尝试使用另一个元素检查单选按钮。它第一次起作用,但第二次就不起作用了,我就是看不出有什么问题Javascript 这是一只角形的虫子吗?该复选框不会重置两次,javascript,angularjs,Javascript,Angularjs,我正在尝试使用另一个元素检查单选按钮。它第一次起作用,但第二次就不起作用了,我就是看不出有什么问题 <div ng-app ng-controller="miniC"> Yes <input type="radio" name="joint" value="yes" ng-checked="!nochecked" ng-click="" /> No <input type="radio" name="joint" value="no" ng-checked="
<div ng-app ng-controller="miniC">
Yes
<input type="radio" name="joint" value="yes" ng-checked="!nochecked" ng-click="" />
No
<input type="radio" name="joint" value="no" ng-checked="nochecked" ng-click="" />
<br>
<br>
<a href="#" ng-click="nochecked = true">check no</a>
</div>
对
不
当我单击“检查否”锚定标记时,我希望选中“否”单选按钮。这是第一次。但是第二次它没有。要做到这一点
1) 勾选“是”
2) 单击显示“不检查”的链接(观察不检查)
3) cick“是”
4) 单击显示“检查否”的链接(观察无任何情况发生:-[)
小提琴在这里
这是angular中的错误吗?您将
nochecked
设置为true
,而不是再次设置为false
。它将永远被指定为true
这是正确的做法:
Yes
<input type="radio" value="false" name="joint" ng-model="nochecked" />
No
<input type="radio" value="true" name="joint" ng-model="nochecked" />
<a href="#" ng-click="nochecked = 'true'">check no</a>
您应该使用
ng型号
,并将其分配给收音机的值
属性:
Yes
<input type="radio" name="joint" value="yes" ng-model="nochecked" ng-click="" />
No
<input type="radio" name="joint" value="no" ng-model="nochecked" ng-click="" />
<br>
<br>
<a href="#" ng-click="nochecked = 'no'">check no</a>
是
不
这不是angular bug,想想发生了什么,angular正在监视作用域中未检查的值,它会在值发生变化时做出反应
第一次执行时,它将该值赋值为true,因此它会在视图中做出反应并显示,但在接下来的时间里,您永远不会重置该值,因此不会更改范围,也不会更改视图
在收音机的点击中添加相应的更新值,它将工作
问候,
注:如其他答案所述,添加ng型号将根据无线电机的值更新范围。您可以使用:
Yes
<input type="radio" name="joint" ng-checked="!nochecked" ng-click="nochecked=false" />
No
<input type="radio" name="joint" ng-checked="nochecked" ng-click="nochecked=true" />
<br>
<br>
<a href="#" ng-click="nochecked = true">check no</a>
是
不
请使用而不是
谢谢抱歉,是的,我考虑的是元素而不是模型绑定……感谢您花时间回复。
Yes
<input type="radio" name="joint" ng-checked="!nochecked" ng-click="nochecked=false" />
No
<input type="radio" name="joint" ng-checked="nochecked" ng-click="nochecked=true" />
<br>
<br>
<a href="#" ng-click="nochecked = true">check no</a>