我在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);
}
});
答案 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);
}