Jquery Mobile + Angular: Checkboxes are ignored by angular

大城市里の小女人 提交于 2019-12-25 02:55:17

问题


Given the following:

<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>

Checking or unchecking the box does not trigger the method call. By removing the <label> tag it will work fine.

I know JQuery Mobile is doing some fancy manipulation of the underlying <input type="checkbox"> tag, but is there a simple way to trick it to activate the ng-change?


回答1:


So it turns out all I needed to do to get this to work was change the order of my javascript imports to import jQuery before Angular. Suddenly it is all magically working.




回答2:


The ngModel directive is required in order for ngChange to work.

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



来源:https://stackoverflow.com/questions/15961160/jquery-mobile-angular-checkboxes-are-ignored-by-angular

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!