Angularjs 处理多个单选按钮

Angularjs 处理多个单选按钮,angularjs,Angularjs,这里的“idDefault”值不变。请帮帮我 <div class="form-group" > <label class="control-label">Select Colors : </label> <div ng-repeat = "color in colorlist"> <input type="radio" name="color" ng-value="true" ng-model="color.idDefault">

这里的“idDefault”值不变。请帮帮我

<div class="form-group" >
<label class="control-label">Select Colors : </label>
<div ng-repeat = "color in colorlist">
<input type="radio" name="color" ng-value="true" ng-model="color.idDefault"> 
{{color.colorName}} </input>
</div>

最初选择黑色。选择其他颜色时,黑色是默认值,不会更改为false。

您尝试使用的上述方法用于复选框,您可以选择多个值,但在这里,您希望一次只选择一种颜色

你可以这样说

<div class="form-group" >
<label class="control-label">Select Colors : </label>
<div ng-repeat = "color in colorlist">
   <input type="radio" name="color" ng-value="color" ng-model="selectedColor"> 
   {{color.colorName}} 
   </input>
</div>

选择颜色:
{{color.colorName}

通过这种方式,您可以在
$scope.selectedColor
变量中的控件中获取所选颜色。

首先,当您使用单选按钮的颜色列表时,它是复选框列表的方式。但是如果您只想这样使用它,您可以通过在其中添加一个
ng change
来实现-

查看代码-

<div class="form-group" >
 <label class="control-label">Select Colors : </label>
 <div ng-repeat = "color in colorlist">
  <input type="radio" name="color" ng-change="changed(color)" ng- value="true" ng-model="color.idDefault"/> 
 {{color.colorName}} 
</div>
 Colors : {{colorlist}}

选择颜色:
{{color.colorName}
颜色:{{colorlist}
并在控制器中添加一种方法-

$scope.changed=function(color){
for(var i=0;i<$scope.colorlist.length;i++)
if($scope.colorlist[i].colorName!==color.colorName){
$scope.colorlist[i].idDefault=false;
}
}
$scope.changed=函数(颜色){

对于(var i=0;iIt对我来说工作正常。如果选择黄色,则只有黄色的isDefault值应为true。黑色isDefault必须更改为false。是否要在js文件中反映更改?是的,它必须反映否,更改仅在文件正在执行时应用。一旦停止执行,以前的值将恢复。我需要将列表返回到服务
$scope.changed=function(color){
for(var i=0;i<$scope.colorlist.length;i++)
if($scope.colorlist[i].colorName!==color.colorName){
$scope.colorlist[i].idDefault=false;
}
}