1 var myTest = angular.module("myTest", []); 2 3 myTest.directive("selremove", function () { 4 5 return { 6 7 restrict: 'ECMA', 8 scope: { 9 getOpitems: '&', 10 id: '@id' 11 }, 12 template: '
' + 13 ' ' + 14 ' ' + 15 '' + 16 ' | ' + 17 ' ' + 18 '' + 20 ' | ' + 21 '
' + 22 '
', 23 controller: function ($scope) { 24 25 $scope.data = { 26 opItems: $scope.getOpitems(), 27 selectedOption: [], 28 selectedAllOption: [] 29 }; 30 31 //右移 32 $scope.NextFun = function () { 33 console.log("NextFun"); 34 var selOption = $scope.data.selectedOption; //使用的是自带的选择option 35 for (var i in selOption) { 36 37 var item = selOption[i]; 38 for (var ii in $scope.data.opItems) { 39 40 var item01 = $scope.data.opItems[ii]; 41 if (item01.val != item.val || !angular.isObject(item01)) { continue; } 42 43 //添加到最终选中框 44 // console.log("next:" + item01.val); 45 $scope.data.selectedAllOption.push(item01); 46 //移除opItems数据 47 $scope.data.opItems.splice(ii, 1); 48 break; 49 } 50 } 51 } 52 53 //左移 54 $scope.PrevFun = function () { 55 56 console.log("PrevFun"); 57 var selOption = $scope.data.selectedOption; 58 59 for (var i in selOption) { 60 61 var item01 = selOption[i]; 62 for (var ii in $scope.data.selectedAllOption) { 63 64 var item = $scope.data.selectedAllOption[ii]; 65 // console.log(item01.val + "|" + item.val + "|" + ii); 66 if (item01.val != item.val || !angular.isObject(item)) { continue; } 67 68 //添加到原始集合 69 $scope.data.opItems.push(item); 70 //移除selectedAllOption数据 71 $scope.data.selectedAllOption.splice(ii, 1); 72 break; 73 } 74 } 75 } 76 } 77 } 78 }); 79 80 myTest.controller("OpCtrl", function ($scope) { 81 82 $scope.OpItems = [ 83 { 84 name: "苹果", 85 val: "1" 86 }, 87 { 88 name: "橘子", 89 val: "2" 90 }, 91 { 92 name: "番茄", 93 val: "3" 94 }, 95 { 96 name: "香蕉", 97 val: "4" 98 }, 99 {100 name: "汽车",101 val: "5"102 },103 {104 name: "作业",105 val: "6"106 },107 {108 name: "工资",109 val: "7"110 },111 {112 name: "游戏",113 val: "8"114 },115 {116 name: "冲浪",117 val: "9"118 }119 ];120 });