10

多次元配列からのデータで満たされたグループに複雑なチェックボックスのセットがあり、それらで発生する必要がある特定のことがいくつかあります...必要なものの最小限を抽出したので、説明しようとします

このフィドルで

http://jsfiddle.net/EVZUV/

最初のチェックボックスが有効になり、2 番目のチェックボックスが無効になります。最初のチェックボックスをオンにすると、2 番目のチェックボックスが有効になります。私が取得しようとしているのは、最初のチェックボックスがオフになっているときに2番目のボックスが再び無効になった場合、2番目のボックスをオフにすることです。

これが私が持っているコードで、ほとんど機能します

<input type="checkbox" ng-model="disablelist" ng-click="checkitems">Check this box to enable the other.. <br><br>
<input type="checkbox" ng-disabled="!disablelist" ng-checked="checkitems">When this checkbox is disabled it also must get unchecked

私はちょうど intong-js を取得していて、いくつかのアイデアは私にはかなり「うわあ..」ですが、それは良さそうなので、今のところ固執しています。

ありがとう!!

4

2 に答える 2

13

ここでの簡単な解決策: http://jsfiddle.net/7mKtF/2/

HTML:

<div ng-app="myApp">
    <input type="checkbox" ng-model="disablelist">Check this box to enable the other.. <br><br>
    <input type="checkbox" ng-disabled="!disablelist" ng-checked="disablelist && 0">When this checkbox is disabled it also must get unchecked
</div>

JS:

var app = angular.module('myApp', []);

基本的に、プロパティng-checkedを含めるようにステートメントを更新しました。disablelistブール論理を使用すると、2 番目のチェックボックスは false の場合に false と評価されdisablelistます。

編集:

ng-clickまた、現在の方法では、バインディングは実際には何もしないことに注意してください。ng-click引数の括弧を使用して、関数変数を呼び出すために使用したいと思うでしょう。

于 2013-11-13T22:57:08.547 に答える
4

モデルを 2 番目のチェックボックスに割り当て、最初のチェックボックスをクリックしたときにモデルをリセットすることで実行できます。

HTML :

<input type="checkbox" ng-model="disablelist" ng-click="otherOption = false" /> Check this box to enable the other..
<input type="checkbox" ng-model="otherOption" ng-disabled="!disablelist" ng-checked="!!otherOption && !disableList" /> When this checkbox is disabled it also must get unckeched

このjsFiddleで結果を確認してください

于 2013-11-13T22:56:15.610 に答える