首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过在角度上与1.4.x不同的行为来选择带有轨迹的多个选择

通过在角度上与1.4.x不同的行为来选择带有轨迹的多个选择
EN

Stack Overflow用户
提问于 2017-10-04 14:36:44
回答 1查看 320关注 0票数 0

我已经将我的产品从角1.2.x更新到了1.4.x

在将angularjs更新到1.4.x之后,这里我面临的问题是

我所拥有的:我添加了带有角1.2.0的片段,下面是具有相同代码的1.4.8的JSFIDDLE

Explanation

从“多选择”框中选择任意一个用户,使其处于活动状态.选择第二个用户(使用ctrl键)。

观察:1.2.x :第一个被选中的值仍然是活动的(true) 1.4.x :在选择第二个值之后,第一个值活动标志得到重置。

为什么会这样?如何才能在1.4.x中获得现有的(1.2.x)输出

注:我的英语写作不太好。请避免犯语法错误,或改正:)

谢谢!

代码语言:javascript
复制
var app = angular.module('test',[]);
app.controller('selectIssue',function($scope){
	$scope.users = [{
  	name:"Rohit",
    active:false
  },
  {
  	name:"Virat",
    active:false
  },
  {
  	name:"Viky",
    active:false
  }];
  $scope.selectedName = [];
})
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0/angular.min.js"></script>
<div ng-app="test">
  <div ng-controller="selectIssue">
  <div>
   <select multiple ng-model="selectedName" ng-options="user.name for user in users track by user.name"></select>
  </div>
    Selected value table :
    <div>
      <table border="1">
        <tr>
          <td>Name</td>
          <td>isActive</td>
          <td>Output</td>
        </tr>
        <tr ng-repeat="n in selectedName">
          <td>{{n.name}}</td>
          <td><input type="checkbox" ng-model="n.active"></td>
          <td>{{n}}</td>
        </tr>
      </table>
    </div>
  </div>
</div>

EN

回答 1

Stack Overflow用户

发布于 2017-10-04 14:54:38

更改复选框时,您不是在更新$scope.names,而是$scope.selectedNames。这意味着您必须在复选框中使用ng更改来更新$scope.names。

代码语言:javascript
复制
$scope.updateName = function(name) {
    angular.forEach($scope.names, function(n) {
        if (n.name === name.name) {
            n.active = name.active
        }
    })
}

这是一个更新的小提琴

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46567624

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档