2015-05-19 32 views
1

我一直在爲此掙扎多年,我似乎無法找到解決方案,因爲我覺得這個解決方案相對比較簡單。如何將JQuery代碼更改爲角色

我希望用戶點擊一個按鈕,然後該按鈕將把所有選中的項目放在一個選擇框中並放入一個對象中。

這裏是jQuery代碼,可以做到這一點對我來說 -

$("#addUserGroup").click(function() { 
var selectedValues = []; 
$("#UserGroups :selected").each(function() { 
    selectedValues.push($(this).val()); 
}); 
alert(selectedValues); 
}); 

我要完成同樣的事情,但有對象我的角度控制器內訪問。如果任何人可以指出我在正確的方向,將不勝感激。

編輯:

答案下面解決了問題,但這裏是我稍作修改,以應對選擇多個項目,如果你有一個選擇,允許這一點。

var app = angular.module('plunker', []); 

app.controller('MainCtrl', function($scope) { 
    $scope.values = []; 
    $scope.selectedValue = "foo"; 

    $scope.addValue = function() { 
    $scope.values.push($scope.selectedValue); 
    console.log($scope.values); 

    for (i = 0; i < $scope.values.length; i++) { 
     console.log($scope.values[i]); 
    } 

    //Do whatever with option list values 

    //Reset values array so it is empty for next click 
    $scope.values = []; 
    } 
}); 
+0

可能重複:http://stackoverflow.com/questions/22860964/migrating-from-jquery-to-angularjs&http://stackoverflow.com/questions/21623768/moving-from-jquery -jquery-mobile-to-angularjs –

回答

2

我已經去了這個問題,基本上結束了使用ng模型和ng點擊的。

JS

app.controller('MainCtrl', function($scope) { 
    $scope.values = []; 
    $scope.selectedValue = "foo"; 

    $scope.addValue = function() { 
    $scope.values.push($scope.selectedValue); 
    console.log($scope.values); 
    } 
}); 

HTML

<body ng-controller="MainCtrl"> 
<select ng-model="selectedValue"> 
    <option>foo</option> 
    <option>bar</option> 
    <option>foobar</option> 
</select> 

<button ng-click="addValue()">Add</button> 

希望這有助於。

http://plnkr.co/edit/afOIDxki62Tuz9csNz4O?p=info

+0

這個答案有幫助還是有更多的功能需要? – UsainBloot

+0

是啊,非常感謝!我只是稍微修改它,以便它接受我在編輯中顯示的多個選項。 – user3407039

+0

啊輝煌,感謝您更新您的原始問題。它確實可以幫助其他遇到同樣問題並且偶然發現此頁面的人。 – UsainBloot