Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.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 选择影响其填充对象属性的多个元素_Javascript_Angularjs_Ng Options - Fatal编程技术网

Javascript 选择影响其填充对象属性的多个元素

Javascript 选择影响其填充对象属性的多个元素,javascript,angularjs,ng-options,Javascript,Angularjs,Ng Options,所以我有这个数组 我有一个select元素,该元素具有从中填充的多个属性 <select ng-model="people" multiple ng-options="person.hair as person.name for person in people"> </select> 我试图实现的是,当用户从这个select元素中选择一个或多个项目时,它会将所选项目的hair属性设置为true 现在发生的是,我选择了一个项目,它将人们设置为fal

所以我有这个数组

我有一个select元素,该元素具有从中填充的多个属性

 <select ng-model="people" multiple
         ng-options="person.hair as person.name for person in people">
 </select>
我试图实现的是,当用户从这个select元素中选择一个或多个项目时,它会将所选项目的hair属性设置为true

现在发生的是,我选择了一个项目,它将人们设置为false,这是有意义的。select需要一个ng模型,ng选项才能工作。如果我把它设成别的,人们身上什么都不会改变


我试着在ng change中放置一个函数并抛出我设置的ng模型,但这不会使选择在select multiple元素中“突出显示”。我知道有更实用的方法可以做到这一点,但如果可以的话,我想知道如何使用选择倍数。

这里有一种方法:

<select ng-model="hairyPersons" multiple
        ng-change="updatePeople(hairyPersons)"
        ng-options="person as person.name for person in people">
</select>
ng模型变量需要与ng选项数组不同

角度。模数PP,[] .controllerctrl,函数$scope{ $scope.people=[ {姓名:约翰,头发:假}, {姓名:詹姆斯,头发:假}, {姓名:玛丽,头发:假}, {姓名:Fred,头发:false}, ]; $scope.updatePeople=functionselects{ $scope.people.forEachx=>x.hair=false; 选择.forEachx=>x.hair=true; }; } {{p.name}}hair={{p.hair?'TRUE':false} 海利珀森 {{h.name}
谢谢,这正是我想要的。也感谢你在我的文章中编辑格式。
<select ng-model="hairyPersons" multiple
        ng-change="updatePeople(hairyPersons)"
        ng-options="person as person.name for person in people">
</select>