use*_*670 14 javascript radio-button angularjs
我有无线电输入,如果检查当前无线电,则通过点击无线电来取消检查状态.
这段代码:
<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">
Run Code Online (Sandbox Code Playgroud)
不工作.
Rag*_*dra 20
单选按钮一次只能选择一个,一旦被选中,用户就无法取消选中(除非您以编程方式执行).因此,如果要在当前选中时取消选中它,则可以执行以下操作:
<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)" />
Run Code Online (Sandbox Code Playgroud)
在你的控制器中:
$scope.uncheck = function (event) {
if ($scope.checked == event.target.value)
$scope.checked = false
}
Run Code Online (Sandbox Code Playgroud)
演示:http://jsfiddle.net/8s4m2e5e/3/
注意:如果您真的想从多个选项中选择一个或不选择,您可以选择 <select>
Jas*_*rth 10
适用于Angular 1.3+的简单解决方案是:
模板
<input type="radio" ng-model="forms.selected" value="{{value}}" ng-click="radioCheckUncheck($event)">
Run Code Online (Sandbox Code Playgroud)
调节器
let lastChecked = null
$scope.radioCheckUncheck = function (event) {
if (event.target.value === lastChecked) {
delete $scope.forms.selected
lastChecked = null
} else {
lastChecked = event.target.value
}
}
Run Code Online (Sandbox Code Playgroud)
它类似于上面的解决方案,但保留了自己以前选择的副本.
| 归档时间: |
|
| 查看次数: |
30735 次 |
| 最近记录: |