在angularjs中突出显示从一个列表框移动到另一个列表框的项目

时间:2019-01-14 11:38:03

标签: javascript jquery angularjs

有两个列表框,我们需要移动列表框之间的列表项。 将项目从一个移到另一个不是问题。 这已经发布在问题中 AngularJS moving items between two select list 这是用于将一个列表项移至另一个列表项的插入链接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'
  }
];

});

感谢您早日答复。

0 个答案:

没有答案