プログラムでチェックボックスをオフにします。私はjavascriptでそれをどのように知っていますが、角度を使用しているので、私はそれが異なると思います。
Jsfiddleのリンクは次のとおりです。 https://jsfiddle.net/TKVH6/499/
Jsfiddleを使用したのはこれが初めてなので、スクリプトとhtmlが表示されない場合はお知らせください。
これはhtmlです
<input type="checkbox" ng-model="v" ng-click="checkAll()" />
<button ng-click="x()">eto</button>
これは角度です
$scope.x = function () {
$scope.v.checked=false;
};
私はこのような質問がたくさんあることを知っています、私はすでにそれらを試しましたが、私はそれを働かせることができません。
ありがとう!
最初の事柄:ulでコントローラーを指定し、ulの外側のボタンのクリックイベントをバインドしたため、divでng-controllerを移動しました。
2番目のこと:実際にそれを確認するには、$scope.Items[i].Selected = true;
を設定する必要があります
$scope.x = function () {
alert("x");
$scope.Items[0].Selected=true;
};
宣言していないのにItems [i]のSelectedプロパティを設定する必要があるのはなぜですか?
その背後にある理由は、HTMLバインディングが次のようなものだからです。
<li ng-repeat="item in Items">
<label>{{item.Name}}
<input type="checkbox" ng-model="item.Selected" />
</label>
</li>
ここで、すべてのアイテムはItems配列の要素です。つまり、チェックボックスでチェックされた値は、そのオブジェクトの選択されたプロパティにバインドされます。 Itemsコレクションでそのプロパティを定義していない場合でも、angularはそれを作成し、そのプロパティにバインドします。したがって、そのプロパティを設定する必要があります。
作業フィドル=> link
<input type="checkbox" ng-checked="v" ng-click="checkAll()" />
コントローラーで
$scope.v = true; // or false