如何使用(键值)在ng-options中设置多个默认值

时间:2017-02-09 08:56:36

标签: javascript angularjs

如何在select multiple中设置默认值=' multiple'使用ng-option? 我一直在尝试两种方法,请找到以下代码:



angular.module('ngrepeatSelect', []).controller('ExampleController', ['$scope', function ($scope) {
	$scope.o1 = {"de":"Deutsch",
	"en":"English","es":"Español",
	"fl":"Flemish","fr":"Français",
	"it":"Italiano","nl":"Nederlands",
	"pl":"Polski",
	"pt":"Português",
	"ro":"Română",
	"tr":"Türkçe"};
	$scope.o2 = {
		"it":{"prefix":"it","label":"Italiano"},
		"fr":{"prefix":"fr","label":"Français"},
		"es":{"prefix":"es","label":"Español"},
		"fl":{"prefix":"fl","label":"Flamand"},
		"en":{"prefix":"en","label":"English"},
		"de":{"prefix":"de","label":"Deutsch"},
		"pt":{"prefix":"pt","label":"Português"},
		"ro":{"prefix":"ro","label":"Română"},"pl":{"prefix":"pl","label":"Polski"},
		"tr":{"prefix":"tr","label":"Türkçe"},
		"nl":{"prefix":"nl","label":"Nederlands"}};
}]);

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js"></script>
<div ng-app="ngrepeatSelect">
	<div ng-controller="ExampleController">
		<div>
			<select
					ng-init="selected1 = 'fr'"
					multiple="multiple"
					ng-model="selected1"
					ng-options="key as value for (key, value) in o1 track by key">
			</select>
			<select
					ng-init="selected2 = 'fr'"
					multiple="multiple"
					ng-model="selected2"
					ng-options="language.prefix as language.label for language in o2 track by language.prefix">
			</select>
		</div>
		<div>
			-{{selected1}}-
			-{{selected2}}-
		</div>
	</div>
</div>
&#13;
&#13;
&#13;

例如,如何预先选择&#39; de&#39; fr&#39;和&#39; ro&#39;对于这两个选择中的每一个? 谢谢!

1 个答案:

答案 0 :(得分:0)

只需在控制器中预填充selected1即可。似乎track by key已过时且可以删除。找到下面的工作片段:

angular.module('ngrepeatSelect', []).controller('ExampleController', ['$scope', function ($scope) {
   $scope.selected1 = ["de", "fr", "ro"];
	
   $scope.o1 = {"de":"Deutsch",
	"en":"English","es":"Español",
	"fl":"Flemish","fr":"Français",
	"it":"Italiano","nl":"Nederlands",
	"pl":"Polski",
	"pt":"Português",
	"ro":"Română",
	"tr":"Türkçe"};
}]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js"></script>
<div ng-app="ngrepeatSelect">
  <div ng-controller="ExampleController">
    <div>
	<select
	  multiple="multiple"
	  ng-model="selected1"
	  ng-options="key as value for (key, value) in o1">
	</select>
    </div>
    <div>
      -{{selected1}}-
    </div>
  </div>
</div>