代码试图通过jquery .prop函数设置checked属性。 但是ng-model仍然是空白的。
$('document').ready(function(){
$("#mybutton").on('click',function(){
$("#mycheckbox").prop('checked',true);
});
});
<input type="button" id="mybutton" value="click">
<input type="checkbox" id="mycheckbox" name="one" ng-model="arr[1]" value="1" />
{{arr}} -- is blank when checked with jquery and not blank when manually checked.
当我手动选中复选框时,ng-model被绑定并设置其值。 当您使用jQuery选中复选框时,能否帮助您更新ng-model?
答案 0 :(得分:0)
当角度重新检查绑定属性如ng model和when digest runs时,您应该阅读。
用$ scope包装你的函数。$ applyAsync()方法如下:
$scope.$applyAsync($("#mycheckbox").prop('checked',true));
这应该在控制器内完成。
如果你不想在无空间路径中做,你可以使用$ timeout。
再一次。所有dom操作都应该在指令/组件内部完成,你可以在其中访问variuos角度工具,如applyAsync和其他工具。
答案 1 :(得分:0)
您可以直接将模型值设为true。它会自动选中复选框, 不需要使用jquery。您可以使用ng-click并将一个函数调用到控制器,这将改变模型值。