将复选框值传递给angular的ng-click

时间:2015-10-30 08:28:45

标签: javascript angularjs checkbox angularjs-ng-click

有没有办法传递给angular指令ng-点击相关输入的值?

换句话说,应该在以下内容中替换 this.value

<input type="checkbox" id="cb1" ng-click="checkAll(this.value)" />

PS。我不想要一种替代值的替代方法,我只是想知道是否可以将输入的值作为参数传递给角度函数

5 个答案:

答案 0 :(得分:30)

您可以执行以下操作:

  • 如果要将html组件绑定到角度范围
  • ,请使用ng-model
  • ng-click更改为ng-change
  • 如果您在检查和取消选中复选框时必须绑定一些值,请使用ng-true-value="someValue"ng-false-value="someValue"
  

ng-clickng-model的执行顺序是不明确的   他们没有明确的优先事项。相反,你应该使用ng-change   或$watch上的$scope以确保您获得正确的值   模型变量。

musically_ut提供

<强> Working Demo

<input type="checkbox" id="cb1" ng-model="check" ng-change="checkAll(check)" ng-true-value="YES" ng-false-value="NO"/> Citizen

答案 1 :(得分:3)

今天我想做同样的事情,我看到没有人回答实际问题。这违反了Angular哲学,但您可以将“this.value”替换为“$ event.target.checked”:

<input type="checkbox" id="cb1" ng-click="checkAll($event.target.checked)" />

答案 2 :(得分:1)

为其分配ng模型将返回布尔值,具体取决于对其的更改:

<input type="checkbox" id="cb1" ng-model="checkValue" ng-change="checkAll(checkValue)" />

最好使用ng-change而不是ng-click

答案 3 :(得分:1)

将复选框绑定到某个值并将其传递给ng-click

<input type="checkbox" ng-model="value" id="cb1" ng-click="checkAll(value)" />

答案 4 :(得分:1)

您可以执行以下操作。为我工作。

<input type="checkbox" id="cb1" ng-click="onChecked($event.target.checked)" />