2016-11-30 6 views
1

問題が発生しました。ここに状況:
2番目のチェックボックスをオフにすると、最初のチェックボックスをオフにします。

デフォルトでは、両方のチェックボックスがオンになっているとします。 2番目のチェックボックスをクリックすると、最初のチェックボックスもオフにします。AngularJs:別のチェックボックスをオフにするとチェックボックスをオフにすることができません

HTML:

<ion-checkbox ng-model="firstCheckbox">First Checkbox</ion-checkbox> 
<ion-checkbox ng-model="secondCheckbox" ng-change="uncheckFirstCheckbox(secondCheckbox)">Second Checkbox</ion-checkbox> 


JS:

$scope.uncheckFirstCheckbox = function(secondCheckbox) { 
     if(secondCheckbox.checked === false) { 
      $scope.firstCheckbox = false; 
     }; 
    }; 


$scope.firstCheckbox偽回すが、それはHTMLでのチェックを外したまま。
どこに問題があるのか​​分かりますか?

+1

があれば、 'してみてください($ scope.secondCheckbox!){$ scope.firstCheckbox =偽; }; '、良い方法で関数呼び出しで$ scopeにある値を渡さないでください – harishr

+0

あなたのヒントありがとうございます:) @entre –

答えて

2

secondCheckbox.checkedプロパティにアクセスしようとしていますが、secondCheckboxはすでにfalseです。 false値の場合は、secondCheckboxのみをチェックする必要があります。代わりにif(!secondCheckbox)を使用してください。

Hereは、あなたのコードを操作するものです。

HTML

<ion-checkbox ng-model="firstCheckbox">First Checkbox</ion-checkbox> 
<ion-checkbox ng-model="secondCheckbox" ng-change="uncheckFirstCheckbox(secondCheckbox)">Second Checkbox</ion-checkbox> 

JS

$scope.uncheckFirstCheckbox = function(secondCheckbox) { 
    if (!secondCheckbox) { 
     $scope.firstCheckbox = false; 
    }; 
}; 
+0

あなたの答えをありがとう! @Divyanshu –

関連する問題