如何将listbox1中的数据添加到angularjs中的listbox2

时间:2015-08-24 09:28:15

标签: javascript jquery html angularjs

我在angularjs中创建了一个应用程序,我希望将listbox1中的值添加到listbox2。

当我点击任何li标签时,我获得了li的价值,但当我尝试将值推送到其他列表框时,它不会显示。

请帮帮我..

Thanx in advaced

链接: - http://plnkr.co/edit/jZeeyFmjIlcsasyL9CzC?p=preview

$.fn.myFunction = function() { 
  return $(this).val();
}

// Now, you can use it like this
$ele.myFunction();

HTML代码: -

var App = angular.module('myApp', ['ngDragDrop']);
App.controller('OverviewCtrl', function ($scope) {
    $scope.list2 = [
        {'title': 'Item 1'},
        {'title': 'Item 2'},
        {'title': 'Item 7'},
        {'title': 'Item 8'}
    ];
    $scope.list1 = [
        {'title': 'Item 1'},
        {'title': 'Item 2'},
        {'title': 'Item 3'},
        {'title': 'Item 4'},
        {'title': 'Item 5'},
        {'title': 'Item 6'},
        {'title': 'Item 7'},
        {'title': 'Item 8'}
    ];
    $scope.toggle = function(test,$scope){
       // alert(test)
        $scope.list2.push($scope.list2.title.test);
    }
});

2 个答案:

答案 0 :(得分:1)

由于您没有复制列表中的对象,因此无法正常工作。 list2.title毫无意义,因为list2是一个数组。这样会更合理:

$scope.toggle = function(item){
    $scope.list2.push(item);
}

并将您toggle的调用方式更改为:

ng-click="toggle(item)"

在旁注中我必须指出toggle只是添加到list2但不会从list1中移除,这可能不是您的目标行为。

答案 1 :(得分:1)

查看数组,它期待像{'title':“something”}这样的对象。但是你正在将一个String推入数组。

试试这个。

<li class="list-group-item" ng-repeat="item in list1" ng-click="toggle(item)" >{{item.title}}</li>

$scope.toggle = function(item){
                $scope.list2.push(item);
            }