更改checked属性后ng-model不会更新

时间:2014-05-04 21:47:57

标签: jquery angularjs twitter-bootstrap

我制作了简单的复选框列表,其中包含以下元素:

  <li>
    <a href="#">
      <label class="checkbox">
        <input type="checkbox" ng-model="value1" />Aaaaa
      </label>
    </a>
  </li>

还有一个jquery脚本在选中复选框时突出显示行,反之亦然,当用户点击.prop("checked")(靠近项目边框)时,它会设置<a>。问题是我不知道为什么ng-model在点击<a>

时不会更新模型

这是样本。要重现问题,请单击文本(这没关系),然后单击靠近项目的边框。 http://plnkr.co/edit/sStCMaBaU1SsQ7hukfaZ?p=preview

1 个答案:

答案 0 :(得分:1)

您可以使用ng-click指令来解决此问题。 我改变了你的代码:

<li>
    <a href="#" ng-click="ChangeCheckBox">
      <label class="checkbox">
        <input type="checkbox" ng-model="value1" />Aaaaa
      </label>
    </a>
  </li>

并在您的控制器中:

$scope.ChangeCheckBox = function(){
 var t = $scope.value1;
 $scope.value1 = !t;
}