2016-12-19 19 views
2

ここで、 "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> 

色:{{colorlist}}

と私のJSONは、まずブラック選択さ

$scope.colorlist = [ 
{ 
    colorName:'Black', 
    idDefault:true}, 
{ 
    colorName:'Red', 
    idDefault:false} , 
    { 
    colorName:'Bule', 
    idDefault:false} , 
    { 
    colorName:'Yellow', 
    idDefault:false} , 
    ]; 

あります。他の色を選択すると、黒はデフォルト値をfalseに変更しません。

+0

私にとってはうまくいっています。 – SaiUnique

+0

イエローを選択した場合は、イエローのisDefault値のみがtrueになります。ブラックIsDefaultをfalseに変更する必要があります。 –

+0

変更がjsファイルに反映されますか? – SaiUnique

答えて

1

まず、ラジオボタンのカラーリストを使用しているので、そのチェックボックスリストの方法です。

$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; 
} 
} 

-

<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}} 

とコントローラにメソッドを追加

ビューコード - を - あなたはこの唯一のようにそれを使用したい場合しかし、あなたは好きなことにng-changeを追加することによってそれを行うことができますfiddle

をご利用になれば幸いです。

+0

ありがとう男働いて...... –

0

上記で使用しようとしている方法は、複数の値を選択できるチェックボックスに使用されていますが、ここでは1つの色のみを選択します。

できるのは、この

<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> 

あなたは$scope.selectedColor変数にあなたのcontollerで選択した色を得ることができるこの方法、など。

+0

私はサービスにリストを返す必要があります –

関連する問題