Javascript 带有复选框行为的收音机
一个简单的问题 我想创建一个单选按钮作为复选框 我有这个密码Javascript 带有复选框行为的收音机,javascript,jquery,html,angularjs,Javascript,Jquery,Html,Angularjs,一个简单的问题 我想创建一个单选按钮作为复选框 我有这个密码 <div ng-app="TestApp"> <div ng-controller="TestCtrl"> {{ dataItem | json }} <br /><br /> <input type="radio" id="isHuman_{{$id}}" na
<div ng-app="TestApp">
<div ng-controller="TestCtrl">
{{ dataItem | json }}
<br /><br />
<input type="radio"
id="isHuman_{{$id}}"
name="RecDem"
ng-value="TrueVal"
ng-model="dataItem.IsHuman" />
<label for="isHuman_{{$id}}">Human</label><br />
<input type="radio"
name="RecDem"
id="isAlien_{{$id}}"
ng-value="TrueVal"
ng-model="dataItem.IsAlien" />
<label for="isAlien_{{$id}}">Alien</label><br />
</div>
</div>
但当我改变收音机的状态时,一开始,它会正常工作,但在第二次单击后,不会触发任何事件
也许我只是错过了ng value=“{if(true)then TrueVal else false}”中的某些内容
任何帮助都将不胜感激
这是一把小提琴
TIA如果我正确理解您的问题,您需要使用
ng checked
属性而不是ng model
属性,因为ng checked
属性允许使用来选中/取消选中单选按钮(类似于复选框的行为)。然后使用ng单击
属性设置对象
因此,您的HTML应该是:
<div ng-app="TestApp">
<div ng-controller="TestCtrl">
{{ dataItem | json }}
<br /><br />
<input type="radio"
id="isHuman_{{$id}}"
name="RecDem"
ng-checked='dataItem.IsHuman'
ng-click="dataItem.IsAlien = false;dataItem.IsHuman=!dataItem.IsHuman;"
/>
<label for="isHuman_{{$id}}">Human</label><br />
<input type="radio"
name="RecDem"
id="isAlien_{{$id}}"
ng-checked='dataItem.IsAlien'
ng-click="dataItem.IsHuman = false;dataItem.IsAlien=!dataItem.IsAlien;"
/>
<label for="isAlien_{{$id}}">Alien</label><br />
</div>
</div>
var app = angular.module('TestApp', []);
app.controller('TestCtrl', ['$scope', function($scope){
$scope.dataItem = {
IsHuman : false,
IsAlien : false
};
}]);
你在看这个吗?^那个简单的黑客。。英雄联盟它起作用了也许我会这样做。。谢谢你,伙计。。我认为有类似ng value=“{if(true)then TrueVal else FalseVal}”的东西可以帮助我。快乐编码:)
var app = angular.module('TestApp', []);
app.controller('TestCtrl', ['$scope', function($scope){
$scope.dataItem = {
IsHuman : false,
IsAlien : false
};
}]);