Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 安格拉斯。是否可以取消选择HTML“;收音机&x201D;点击输入?_Javascript_Angularjs_Radio Button - Fatal编程技术网

Javascript 安格拉斯。是否可以取消选择HTML“;收音机&x201D;点击输入?

Javascript 安格拉斯。是否可以取消选择HTML“;收音机&x201D;点击输入?,javascript,angularjs,radio-button,Javascript,Angularjs,Radio Button,我有收音机输入,如果当前收音机被选中,我想通过点击收音机来检查状态 此代码: <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-chan

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

此代码:

<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">

不工作


Fiddle:

单选按钮一次只能选择一个,并且一旦选中,用户就不能取消选中它们(除非以编程方式执行)。因此,如果您想在当前选中时取消选中它,可以执行以下操作:

<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)" />
演示:


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

一个适用于Angular 1.3+的简单解决方案是:

模板

<input type="radio" ng-model="forms.selected" value="{{value}}" ng-click="radioCheckUncheck($event)">

它与上面的解决方案类似,但保留了以前选择的副本。

我用以下代码解决了这个问题:

ng-dblclick = "{{model}} = '' "

一个更简单的解决方案是添加:

ng-dblclick = "checked = null"
你可以使用下面的方法。 设置一个属性

public selectedMoiProfile : boolean  = false;

<input type="radio" 
       name="selectMoi"
       [checked]="selectedProfile"
       [value]="selectedProfile"
       (click)="onSelect(moiProfile)"
       class="selectMoi">


 onSelect(p: profile) {
     p.selectedProfile= p.selectedProfile? false : true;
 }
public-selectedMoiProfile:boolean=false;
onSelect(p:profile){
p、 selectedProfile=p.selectedProfile?假:真;
}

哦,谢谢!我知道理论,但我不知道这是怎么做到的。好吧,我接受了。再次感谢,当前版本的答案对我来说非常好。你不是说答案第一句中的单选按钮吗?这在Angular 1.3中不再起作用了。在1.3中,在触发单击事件之前,选中的值被设置为“xyz”。如何在没有jQuery(并且没有直接的用户交互)的情况下通过编程取消选中单选按钮?很棒的1.3+
ng-dblclick = "checked = null"
public selectedMoiProfile : boolean  = false;

<input type="radio" 
       name="selectMoi"
       [checked]="selectedProfile"
       [value]="selectedProfile"
       (click)="onSelect(moiProfile)"
       class="selectMoi">


 onSelect(p: profile) {
     p.selectedProfile= p.selectedProfile? false : true;
 }