有没有办法传递给angular指令ng-点击相关输入的值?
换句话说,应该在以下内容中替换 this.value
:
<input type="checkbox" id="cb1" ng-click="checkAll(this.value)" />
PS。我不想要一种替代值的替代方法,我只是想知道是否可以将输入的值作为参数传递给角度函数。
答案 0 :(得分:30)
您可以执行以下操作:
ng-click
更改为ng-change
ng-true-value="someValue"
和ng-false-value="someValue"
ng-click
和ng-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)" />