Example for Stackoverflow. Multiple select

by Stepan Kasyanenko

HTML

<div ng-app="ExampleApp">
  <div ng-controller="ExampleController">
    <select name="serverNameList" id="serverNameList" data-ng-model="serverNameList" data-ng-options="server.SERVER for server in serverListArray" multiple data-ng-multiple="true">
    </select>

    <input type="button" ng-click="remove(serverNameList)" value="Remove" />
    <div>

      Selected: <pre>{{serverNameList|json}}</pre></div>

  </div>
</div>

CSS

.error {
  color: red;
  font-style: italic;
}

JavaScript

angular.module('ExampleApp', [])
  .controller('ExampleController', function($scope) {
    $scope.indexValue = "2";
    $scope.serverListArray = [{
      COUNT: 0,
      SERVER: "NO SELECTION"
    }, {
      COUNT: 1,
      SERVER: "First"
    }, {
      COUNT: 2,
      SERVER: "Second"
    }, {
      COUNT: 2,
      SERVER: "Third"
    }];
    $scope.remove = function(arr) {


      for (var val = 0, len = arr.length; val < len; val += 1) {
        var removeIndex = searchpart($scope.serverListArray, arr[val].SERVER);
        console.log(removeIndex);
        $scope.serverListArray.splice(removeIndex, 1);
      }
      $scope.serverNameList = [$scope.serverListArray[0]];
    };

    function searchpart(arr, serverTmp) {
      for (var d = 0, len = arr.length; d < len; d += 1) {
        if (arr[d].SERVER.toLowerCase().indexOf(serverTmp.toLowerCase()) >= 0) {
          return d;
        }
      }
    }
  });