Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 选中ng时,ng模型未绑定_Javascript_Angularjs_Checkbox_Angularjs Scope_Angular Directive - Fatal编程技术网

Javascript 选中ng时,ng模型未绑定

Javascript 选中ng时,ng模型未绑定,javascript,angularjs,checkbox,angularjs-scope,angular-directive,Javascript,Angularjs,Checkbox,Angularjs Scope,Angular Directive,我有一个父复选框,单击子复选框时会选中它。我希望此父复选框依次与第三个复选框绑定。但是,当更改是由于检查了ng时,双向绑定不起作用。以下是模板: <div><input type="checkbox" ng-checked="childCheckbox" ng-model="parentCheckbox" /> Parent Checkbox</div> <div><input type="checkbox" ng-model="childC

我有一个父复选框,单击子复选框时会选中它。我希望此父复选框依次与第三个复选框绑定。但是,当更改是由于检查了ng时,双向绑定不起作用。以下是模板:

<div><input type="checkbox" ng-checked="childCheckbox" ng-model="parentCheckbox" /> Parent Checkbox</div>
<div><input type="checkbox" ng-model="childCheckbox" /> Child Checkbox</div>
<div><input type="checkbox" ng-model="parentCheckbox" /> A third Checkbox binding with Parent Checkbox</div>
Parent复选框
子复选框
第三个复选框与父复选框绑定
以下是JSFIDLE中的工作示例:


换句话说,当通过单击选中父复选框时,ng模型与第三个复选框绑定。但是,如果由于选中了ng而选中了父复选框,则第三个复选框不会更新更改。如何在Angular中实现这一点?

不,我认为没有额外的JS是不可能的

但是,它可以正常工作

<div><input type="checkbox" ng-click="clickOthers()" ng-model="childCheckbox" /> Child Checkbox</div>

ng checked只是一个条件属性,它永远不会修改附加的属性。有没有理由不让所有这些复选框使用与ng模型相同的值?这似乎就是为什么您不能将
ng checked=“childCheckbox”
添加到第三个复选框?@Artem Petrosian该示例是演示的简化版本。但在我的例子中,第三个复选框实际上放在另一个ng repeat中,我无法为该父项添加ng checked选项。这就是为什么我想把主父复选框放在外面,然后用第三个复选框绑定。谢谢你,泽克。JS方法看起来不错。我现在就试试看……)谢谢@ZekeSonxx,您的JS方法对于静态列表非常有效。但是,当使用动态
ng模型
使用
ng repeat
创建复选框时,我仍然难以调整此代码。我已经接受了这个答案,因为你的答案回答了我的上述问题。对于我关于动态复选框的问题,我创建了一个更具体的问题。如果你想看一下,这里有一个链接:再次感谢你迄今为止的支持。非常感谢!:)
$scope.clickOthers = function () {
    $scope.parentCheckbox = $scope.childCheckbox;
}