如何以编程方式取消选中复选框?
How to programmatically uncheck checkbox?
我想以编程方式取消选中复选框。我知道如何在 javascript 中使用它,但由于我使用的是 angular,我认为它是不同的。
这是 jsfiddle 的 link:https://jsfiddle.net/TKVH6/499/
这是我第一次使用 jsfiddle,所以如果您看不到脚本和 html,请告诉我。
这是html
<input type="checkbox" ng-model="v" ng-click="checkAll()" />
<button ng-click="x()">eto</button>
这是angular
$scope.x = function () {
$scope.v.checked=false;
};
我知道有很多这样的问题,我已经试过了,但我做不到。
谢谢!
第一件事:您已经在 ul 上指定了控制器并绑定了 ul 外部按钮的单击事件,因此将 ng-controller 移到了 div。
第二件事:为了实用地检查它,你需要设置$scope.Items[i].Selected = true;
$scope.x = function () {
alert("x");
$scope.Items[0].Selected=true;
};
Why we need to set Selected property of Items[i] while I have not declared?
这背后的原因是您的 html 绑定是这样的:
<li ng-repeat="item in Items">
<label>{{item.Name}}
<input type="checkbox" ng-model="item.Selected" />
</label>
</li>
此处每个项目都是 Items 数组中的元素,这意味着您的复选框选中值现在绑定到该对象的选定 属性。即使您没有在 Items 集合 angular 中定义 属性,也会创建它并将其绑定到那个 属性。所以你需要设置 属性。希望对你有帮助。
这是工作 fiddle => link
<input type="checkbox" ng-checked="v" ng-click="checkAll()" />
在你的控制器中
$scope.v = true; // or false
我想以编程方式取消选中复选框。我知道如何在 javascript 中使用它,但由于我使用的是 angular,我认为它是不同的。
这是 jsfiddle 的 link:https://jsfiddle.net/TKVH6/499/
这是我第一次使用 jsfiddle,所以如果您看不到脚本和 html,请告诉我。
这是html
<input type="checkbox" ng-model="v" ng-click="checkAll()" />
<button ng-click="x()">eto</button>
这是angular
$scope.x = function () {
$scope.v.checked=false;
};
我知道有很多这样的问题,我已经试过了,但我做不到。
谢谢!
第一件事:您已经在 ul 上指定了控制器并绑定了 ul 外部按钮的单击事件,因此将 ng-controller 移到了 div。
第二件事:为了实用地检查它,你需要设置$scope.Items[i].Selected = true;
$scope.x = function () {
alert("x");
$scope.Items[0].Selected=true;
};
Why we need to set Selected property of Items[i] while I have not declared?
这背后的原因是您的 html 绑定是这样的:
<li ng-repeat="item in Items">
<label>{{item.Name}}
<input type="checkbox" ng-model="item.Selected" />
</label>
</li>
此处每个项目都是 Items 数组中的元素,这意味着您的复选框选中值现在绑定到该对象的选定 属性。即使您没有在 Items 集合 angular 中定义 属性,也会创建它并将其绑定到那个 属性。所以你需要设置 属性。希望对你有帮助。
这是工作 fiddle => link
<input type="checkbox" ng-checked="v" ng-click="checkAll()" />
在你的控制器中
$scope.v = true; // or false