Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度选择-a.forEach不是一个函数_Javascript_Jquery_Angularjs_Foreach_Angular Chosen - Fatal编程技术网

Javascript 角度选择-a.forEach不是一个函数

Javascript 角度选择-a.forEach不是一个函数,javascript,jquery,angularjs,foreach,angular-chosen,Javascript,Jquery,Angularjs,Foreach,Angular Chosen,使用Angular Selected允许国籍的多选下拉列表。 我犯了一个错误 “a.forEach不是一个函数” 无论您选择了一个、两个或零个选项,都会发生此错误 我已经看过这篇文章了 但是,我选择的值已经是一个数组,因此它在该问题上不提供任何帮助 这是我的html <li class="form-row"> <span class="label"> <label for="nation"&

使用Angular Selected允许国籍的多选下拉列表。

我犯了一个错误

“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>

任何建议都将不胜感激。

数组对象的属性应按如下方式分配:
id:“1”,name:“United States”
,而不是
id=“1”
。将等号(=)替换为冒号(:)

此外,还应按以下方式使用forEach函数:

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

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

它假设countries是一个数组,{}不是数组。如果我执行“console.log($scope.countries.constructor==array)”,它将返回trueYou't's right。没有看到括号。这里有一些很好的建议:您是正确的,但是更改它并不会删除forEach错误!我认为在您的代码中,您正在调用forEach,因为它是数组本身的一个函数。正确的用法是
angular.forEach($scope.countries,function(key,value){//your code here})有关更多详细信息,请参阅forEach函数是从所选库调用的,而不是作为我自己实现的一部分。它被称为使用“angular.forEach”。这个库可以在我文章的第一个链接中查看。你能分享整个代码和标记吗?因为我不能用我上面提到的任何其他方式复制你的问题。
angular.forEach($scope.countries, function(key, value){
// your code here
 });