如何在动态删除选项时删除选择框中的空选项

时间:2015-09-09 07:41:55

标签: angularjs

我正在学习AngularJs几周。我尝试了一个带有选择框的片段。首先我面对空选项问题,同时加载我google搜索并解决。现在,如果我通过动态删除选项,相同的空选项来了,我得到了此错误"value is undefined"这是我的issue。提前致谢

1 个答案:

答案 0 :(得分:1)

您已在初始化时删除了空选项,方法是将$scope.selected属性分配给$scope.opt1项之一。

从该列表中删除项目后,您必须再次这样做。 这是因为您删除了所选项目,现在您的$scope.selected属性与任何现有属性都不匹配。

$scope.addOption = function(){

  if($scope.selected !== undefined){
    $scope.opt2.push($scope.selected);
    $scope.opt1 = $scope.opt1.filter(function(value) {
      return $scope.selected.name !== value.name;
    });
    $scope.selected = $scope.opt1[0];
  }

};

此外,我已将$.each更改为Array.prototype.filter以防止错误抛出。