AngularJs.是否可以通过单击取消选择 HTML“radio"输入? [英] AngularJs. Is it possible to deselect HTML “radio” input by click?

查看:21
本文介绍了AngularJs.是否可以通过单击取消选择 HTML“radio"输入?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有收音机输入,如果当前收音机被选中,我想通过点击收音机来检查状态.

I have radio inputs and want to ucheck state by click on radio if current radio is checked.

此代码:

<input type="radio" id="average_0" name="average" ng-model="checked" ng-change="false" value="500" class="ng-valid ng-dirty">
<input type="radio" id="average_1" name="average" ng-model="checked" ng-change="false" value="1000" class="ng-valid ng-dirty">
<input type="radio" id="average_2" name="average" ng-model="checked" ng-change="false" value="1500" class="ng-valid ng-dirty">

不工作.

小提琴:http://jsfiddle.net/Zoomer/8s4m2e5e/

推荐答案

单选按钮一次只能选择一个,并且一旦选中,用户就不能取消选中(除非您以编程方式执行).所以如果你想在当前选中时取消选中它,你可以这样做:

Radio buttons can be selected only one at a time and cannot be unchecked by the user once they are checked (unless you do programmatically). So if you want to uncheck it when it is currently selected, you can do this:

<input type="radio" ng-model="checked" value="500" ng-click="uncheck($event)" />
<input type="radio" ng-model="checked" value="1000" ng-click="uncheck($event)" />
<input type="radio" ng-model="checked" value="1500" ng-click="uncheck($event)" />

在您的控制器中:

$scope.uncheck = function (event) {
    if ($scope.checked == event.target.value)
        $scope.checked = false
}

演示:http://jsfiddle.net/8s4m2e5e/3/

注意:如果您真的想从多个选项中选择一个或一个都不选择,您可以选择

发送“验证码”获取 | 15天全站免登陆