4

使用 Angular Chosen 允许国籍的多选下拉菜单。 https://github.com/localytics/angular-chosen

我收到一个错误

“a.forEach 不是函数”

无论您选择了一个、两个还是零个选项,都会出现此错误。

我看过这个帖子

获取 a.foreach 不是函数错误

但是我选择的值已经是一个数组,因此它对这个问题没有任何帮助。

这是我的html

<li class="form-row">
                <span class="label">
                    <label for="nation">Nationality</label>:
                </span>
                <div class="field country">
                    <select 
                    chosen
                    multiple
                    ng-model='person.nation'
                    ng-options='c.name as c.name for c in countries'
                    id="nation" 
                    data-select-max="2" 
                    data-token="Nationalities" 
                    data-placeholder="- Select your nationalities -">
                    </select>
                </div>
            </li>

我的选项($scope.countries)看起来像

[ 
  { id="1",  name="United States"}, 
  { id="2185",  name="Afghanistan"},
  etc....
 ]

任何建议将不胜感激。

4

1 回答 1

2

数组对象的属性应该像这样分配:id:"1", name:"United States",而不是id="1"。将等号 (=) 替换为冒号 (:)。

您还应该按以下方式使用 forEach 函数:

angular.forEach($scope.countries, function(key, value){
// your code here
 });

而不是作为数组的函数:$scope.countries.forEach(...)

于 2016-01-14T11:04:31.097 回答