0

鉴于以下情况:

<html ng-app>
...
<script>
    function Main($scope){
      $scope.checked = function() {
        alert("This will never show!");
      };
    }
</script>
<body>
<div data-role="page" ng-controller="Main">
    <div data-role="header">
    <h1>Sample</h1>
</div>
<div data-role="content">
    <label for="mybox">Click here!</label>
    <input id="mybox" type="checkbox" ng-model="boxval" ng-change="checked()">
</div>
</div>
</body>
</html>

选中或取消选中该框不会触发方法调用。通过删除<label>标签,它将正常工作。

我知道 JQuery Mobile 正在对底层<input type="checkbox">标签进行一些花哨的操作,但是有没有一种简单的方法可以欺骗它来激活 ng-change?

4

2 回答 2

2

所以事实证明,要让它工作,我需要做的就是改变我的 javascript 导入的顺序,以便在 Angular 之前导入 jQuery。突然间,这一切都神奇地起作用了。

于 2013-04-22T18:35:03.997 回答
0

为了工作,该ngModel指令是必需的ngChange

http://docs.angularjs.org/api/ng.directive:input

于 2013-04-12T00:43:31.573 回答