【问题标题】:Angularjs checkbox checked ng-change no actionAngularjs 复选框已选中 ng-change 无操作
【发布时间】:2017-06-30 18:23:19
【问题描述】:

HTML

<input type="checkbox" ng-model="activeStatus" 
       ng-checked="outlet2Datas.INT_EXTEND_1 == 1"
       ng-change="setOutletStatus(activeStatus)"
       ng-true-value="1" ng-false-value="0" />

控制器

    $scope.setOutletStatus = function (activeStatus) {
        console.log(activeStatus);
    }

我是 angularjs 新手,我需要一些关于复选框 ng-change 的帮助。

这是 HTML 复选框输入。当值为 1 时,我从 API 获取值以选中复选框。当复选框值从 1 开始表示复选框被选中时,我单击复选框控制台什么都没有出来。然后我再次单击复选框,控制台返回值 1 并再次单击值为 0。为什么 ng-change 第一次在选中复选框时无法执行操作,但在未选中复选框时可以执行操作?

【问题讨论】:

    标签: angularjs


    【解决方案1】:

    参考Angular documentation 你不应该使用ngModelngChecked。因为这可能导致意外行为。似乎你的情况就是这样。

    您可以将truefalse 分配给您传递给ng-model 指令的变量。或任何其他值,但它应该与 ng-true-valueng-false-value 指令中声明的值之一相同。

    您也不需要将模型变量作为参数传递给ng-change 回调。因为您已经可以在 $scope 中访问此变量。

    基本上,我为您准备了jsbin,并提供了工作示例。希望这会有所帮助。

    【讨论】:

    • 感谢您对我的问题的解释。我可以用你的例子来解决我的问题。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-20
    • 1970-01-01
    • 2016-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-19
    相关资源
    最近更新 更多