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
    };        
}]);