Angularjs 处理多个单选按钮
这里的“idDefault”值不变。请帮帮我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">
<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;
}
}