Выделите перемещенный элемент из одного списка в другой список в angularjs - PullRequest
0 голосов
/ 14 января 2019

Есть два списка, нам нужно перейти к списку элементов между полями. Перемещение предмета от одного к другому не является вопросом. Это уже опубликовано в вопросе AngularJS перемещение предметов между двумя списками выбора Вот ссылка плунжера http://plnkr.co/edit/RYEmpkBjQStoCfgpWPEK?p=preview для перемещения одного элемента списка в другой

Вопрос / проблема в том, как выделить перемещенный элемент из одного элемента списка в другой элемент списка

<label for="aclients">Available Clients</label>                                
<select size="5" multiple ng-model="available" ng-options="client as client.name for client in availableclients" style="width: 400px"></select>         

<input id="moveright" type="button" value="Add Client" ng-click="moveItem(available[0], availableclients,selectedclients)" />
<input id="moverightall" type="button" value="Add All Clients" ng-click="moveAll(availableclients,selectedclients)" />
<input id="move left" type="button" value="Remove Client" ng-click="moveItem(selected[0], selectedclients,availableclients)" />    
<input id="moveleftall" type="button" value="Remove All Clients" ng-click="moveAll(selectedclients,availableclients)" />

<label for="sclients">Selected Clients</label>                                                    

Сценарий

angular.module('app', []).controller('MoveCtrl', function($scope) {


$scope.moveItem = function(item, from, to) {

    console.log('Move item   Item: '+item+' From:: '+from+' To:: '+to);
    //Here from is returned as blank and to as undefined

    var idx=from.indexOf(item);
    if (idx != -1) {
        from.splice(idx, 1);
        to.push(item);      
    }
};
$scope.moveAll = function(from, to) {

    console.log('Move all  From:: '+from+' To:: '+to);
    //Here from is returned as blank and to as undefined

    angular.forEach(from, function(item) {
        to.push(item);
    });
    from.length = 0;
};                

$scope.selectedclients = [];                                

$scope.availableclients = [
  {
    id: 1, 
    name: 'foo'
  }, 
  {
    id: 2, 
    name: 'bar'
  },
  {
    id: 3,
    name: 'baz'
  }
];

});

Ранние ответы приветствуются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...