如何从angularjs中的js脚本制作单击按钮?

时间:2014-06-09 07:44:26

标签: javascript angularjs

我想从我的脚本函数中单击复选框但我不知道如何在angularjs中执行此操作?

我尝试了以下方式,但它无法正常工作:
JS

var a = document.getElementById("selectAllElem");
$scope.selectAll = a["onclick"];
if (typeof($scope.selectAll) == "function") {
    alert("call click");
    $scope.selectAll(a);
}

HTML

<input type="checkbox" ng-click="selectAll($event)" id="selectAllElem" />

有人能告诉我如何从angularjs中的js脚本中点击复选框吗?

更新
我不能只使用单个标志变量,因为上面的复选框放在表的标题上,点击它我需要将所有选中的复选框设置为取消选中并取消选中复选框。 我需要调用按钮点击来实现目标。

如何从angularjs中的js脚本中单击复选框?

2 个答案:

答案 0 :(得分:0)

<强>已更新

您可以将范围变量绑定到所有复选框,并在处理单击的selectAll()方法中更改它们。 此外,您可以将方法绑定到selectAllElem复选框,检查是否已选中所有其他复选框。 我将selectAll()重命名为toggleAll()以显示如何在一个方法中选择/取消选择。

e.g:

<input ... ng-click="toggleAll()" ng-model="allSelected()" />

$scope.allSelected = function(){
  return $scope.option1 && $scope.option2;
}
$scope.toggleAll = function(){
  var value = !$scope.allSelected();
  $scope.option1 = value;
  $scope.option2 = value;
}

如果从数组生成复选框,则可以使用scope.options并在两种方法中迭代它。

<强> OLD

您可以将输入绑定到范围变量,例如:

<input type="checkbox" ng-click="selectAll($event)" id="selectAllElem" ng-model="allSelected" />

然后在函数

中设置该变量

$ scope.allSelected = true;

答案 1 :(得分:0)

你可以使用它代替上面的代码:

<input type="checkbox" ng-click="selectAll()" id="selectAllElem" ng-model="allSelected" />

在控制器创建函数selectAll():

$scope.selectAll=function(){
   $scope.allSelected=true;
 }