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
Angularjs Angular ui select multi-select:从控制器中选择某些项目时,下拉列表未得到更新_Angularjs_Multi Select_Ui Select_Angular Ui Select - Fatal编程技术网

Angularjs Angular ui select multi-select:从控制器中选择某些项目时,下拉列表未得到更新

Angularjs Angular ui select multi-select:从控制器中选择某些项目时,下拉列表未得到更新,angularjs,multi-select,ui-select,angular-ui-select,Angularjs,Multi Select,Ui Select,Angular Ui Select,单击“选择黄色”按钮,我想将黄色添加到所选列表中。黄色已被选中,但下拉列表仍显示黄色。同样,我想在点击“取消选择黄色”按钮时取消选择黄色。我可以取消选择黄色,但黄色不会出现在下拉列表中。请帮我解决这个问题。 HTML: 这是plunker链接:这是一个inui select组件。您可以使用我的解决方案作为部分解决方案,直到此问题尚未解决 ui-select不过滤项目。它只是在ui-select-choices的repeat属性中计算表达式。如果您想从建议中排除已使用的值,您可以自己做 将额外过滤

单击“选择黄色”按钮,我想将黄色添加到所选列表中。黄色已被选中,但下拉列表仍显示黄色。同样,我想在点击“取消选择黄色”按钮时取消选择黄色。我可以取消选择黄色,但黄色不会出现在下拉列表中。请帮我解决这个问题。 HTML:


这是plunker链接:这是一个in
ui select
组件。您可以使用我的解决方案作为部分解决方案,直到此问题尚未解决

ui-select
不过滤项目。它只是在
ui-select-choices
repeat
属性中计算表达式。如果您想从建议中排除已使用的值,您可以自己做

将额外过滤器添加到
重复

<ui-select-choices repeat="color in availableColors | filter:omitSelectedColors | filter:$select.search">

谢谢,这在一定程度上帮助了我。选择黄色时,下拉列表将被更新,黄色不会被列出。但在取消选择黄色时,它不会再次添加回下拉列表。更新的pluncker链接:找到一段代码,负责在ui中选择源代码。我的解决方案是解决此问题的一个变通方法:。我想如果没有图书馆的改变,就无法完全修复它。谢谢你的帮助。希望这个问题能早点解决。你能推荐其他类似的多选插件吗?我找不到。我尝试过angular.js(1.3.15)和angular ui select(0.8.3)。现在一切都按预期进行。@SaiGiridhar,最新的ui选择是0.11.2。但很高兴听到降级到以前的版本对某些人来说是一个解决方案
  $scope.availableColors = ['Red','Green','Blue','Yellow','Magenta','Maroon','Umbra','Turquoise'];
  $scope.multipleDemo = {};
  $scope.multipleDemo.colors = ['Blue','Red'];

  $scope.selectYellowColor = function(){
    if($scope.multipleDemo.colors.indexOf($scope.availableColors[3]) == -1){
      $scope.multipleDemo.colors.push($scope.availableColors[3]);
    }
  };

  $scope.deselectYellowColor = function(){
    if($scope.multipleDemo.colors.indexOf($scope.availableColors[3]) != -1){
      var index = $scope.multipleDemo.colors.indexOf($scope.availableColors[3]);
      $scope.multipleDemo.colors.splice(index, 1);
    }
  };
<ui-select-choices repeat="color in availableColors | filter:omitSelectedColors | filter:$select.search">
$scope.omitSelectedColors = function(color) {
    return $scope.multipleDemo.colors.indexOf(color) === -1;
}