使用AngularJS并选择选择导致选择拼写出来

时间:2014-12-09 21:00:55

标签: angularjs ng-options

我的HTML中有一个<select>,我正在使用ngOptions来填充它。选择下拉列表中的项目后,将重新绘制<select>,并将新选项分解为每个选项一个字母。

因此,如果我从<select>中选择“汽车”项,则新选项为“C”,“a”,“r”和“s”。

请参阅this JSFiddle上的问题。

<body ng-app="myApp">
  <div ng-controller="MyCtrl">
    <select ng-model="genders" ng-options="gender as gender for gender in genders"></select>
  </div>
</body>

var myApp = angular.module('myApp', []);
function MyCtrl($scope) {
  $scope.genders = ["Female", "Male"];
}

JSFiddle正在使用Angular 1.2.1,但我在1.3.5中遇到了同样的问题。我也没有使用Internet Explorer。

1 个答案:

答案 0 :(得分:0)

如果您将ng-model更改为&#34; gender&#34;事情应该很好。

目前,该模型正在引用名为genders的数组,并且似乎接受选择并对字符串执行split()。在做出选择后,你的性别&#34;数组现在相当于字符串&#34; Female&#34;或者&#34;男性&#34;,这就是选择被改为个别角色的原因。

或者,您可以将ng-model更改为&#34; selectedGender&#34;。

以下是a fork of your fiddle使用&#34;性别&#34;而不是&#34;性别。&#34;

<div ng-controller="MyCtrl">
  <select ng-model="gender" ng-options="gender for gender in genders"></select>
</div>