Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.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
Java 填充国家/地区列表中的州下拉列表-angularjs_Java_Angularjs_Spring_Rest - Fatal编程技术网

Java 填充国家/地区列表中的州下拉列表-angularjs

Java 填充国家/地区列表中的州下拉列表-angularjs,java,angularjs,spring,rest,Java,Angularjs,Spring,Rest,下面是我从JavaSpringController返回的状态列表的代码片段 下面是postman获取国家id相关状态的json结果示例 [ { "id": 1, "name": "state1", "country": { "id": 1, "name": "MyCountry" } }, { "id": 2, "name": "

下面是我从JavaSpringController返回的状态列表的代码片段

下面是postman获取国家id相关状态的json结果示例

[
    {
        "id": 1,
        "name": "state1",
        "country": {
            "id": 1,
            "name": "MyCountry"
        }
    },
    {
        "id": 2,
        "name": "state2",
        "country": {
            "id": 1,
            "name": "MyCountry"
        }
    },
    {
        "id": 3,
        "name": "state3",
        "country": {
            "id": 1,
            "name": "MyCountry"
        }
    },
    {
        "id": 4,
        "name": "state4",
        "country": {
            "id": 1,
            "name": "MyCountry"
        }
    },
    {
        "id": 5,
        "name": "state5",
        "country": {
            "id": 1,
            "name": "MyCountry"
        }
    }
]
如图所示,我正在使用端点获取状态列表

                var myJSON = res.data;
                var states = [];
                angular.forEach(myJSON, function (item)
                        {
                    states.push(item);
                        });
                alert("500 "+ states);

状态列表永远不会显示,状态下拉列表也永远不会填充。

小心模板中引用的内容

首先,您的ctrl.states(模板引用)与states(控制器引用)的对象不同

决定是否要使用控制器实例或$scope实例绑定您的ref


使用$scope,您的控制器将:

$scope.states = [] ;

angular.forEach(myJSON, function (item) {
    $scope.states.push(item);
});
以及模板:

<label>State</label>
<select ng-model="state" name="state" required >

    <option ng-repeat="s in states" value="{{s.name}}">{{s.name}}</option>
</select>
状态
{{s.name}}
我将ngRepeat移动到option标记,因为您不需要迭代编译多个select,而是需要为states对象的每个元素添加一个选项

也要删除这些类,因为在元素上检测到ngModel时,角度引擎将添加这些类


希望能有所帮助。

请注意模板中引用的内容

首先,您的ctrl.states(模板引用)与states(控制器引用)的对象不同

决定是否要使用控制器实例或$scope实例绑定您的ref


使用$scope,您的控制器将:

$scope.states = [] ;

angular.forEach(myJSON, function (item) {
    $scope.states.push(item);
});
以及模板:

<label>State</label>
<select ng-model="state" name="state" required >

    <option ng-repeat="s in states" value="{{s.name}}">{{s.name}}</option>
</select>
状态
{{s.name}}
我将ngRepeat移动到option标记,因为您不需要迭代编译多个select,而是需要为states对象的每个元素添加一个选项

也要删除这些类,因为在元素上检测到ngModel时,角度引擎将添加这些类


希望能有所帮助。

我认为问题在于数组引用,当然,正如之前一样,您必须将项目推送到数组中

尝试下面的代码,它会工作

注意:不要在代码段中运行代码,它不会运行bcoz angular lib,并且不会向其中添加链接

var myJSON=[
{
“id”:1,
“名称”:“state1”,
“国家”:{
“id”:1,
“名称”:“我的国家”
}
},
{
“id”:2,
“名称”:“state2”,
“国家”:{
“id”:1,
“名称”:“我的国家”
}
},
{
“id”:3,
“名称”:“state3”,
“国家”:{
“id”:1,
“名称”:“我的国家”
}
},
{
“id”:4,
“名称”:“state4”,
“国家”:{
“id”:1,
“名称”:“我的国家”
}
},
{
“id”:5,
“名称”:“state5”,
“国家”:{
“id”:1,
“名称”:“我的国家”
}
}
];
$scope.states=[];
forEach(myJSON,函数(项){
$scope.states.push(项目);
});
警报($scope.states)//警报这些值

陈述
{{s.name}}

我认为问题在于您的数组引用,当然,正如您必须将项目推入数组一样

尝试下面的代码,它会工作

注意:不要在代码段中运行代码,它不会运行bcoz angular lib,并且不会向其中添加链接

var myJSON=[
{
“id”:1,
“名称”:“state1”,
“国家”:{
“id”:1,
“名称”:“我的国家”
}
},
{
“id”:2,
“名称”:“state2”,
“国家”:{
“id”:1,
“名称”:“我的国家”
}
},
{
“id”:3,
“名称”:“state3”,
“国家”:{
“id”:1,
“名称”:“我的国家”
}
},
{
“id”:4,
“名称”:“state4”,
“国家”:{
“id”:1,
“名称”:“我的国家”
}
},
{
“id”:5,
“名称”:“state5”,
“国家”:{
“id”:1,
“名称”:“我的国家”
}
}
];
$scope.states=[];
forEach(myJSON,函数(项){
$scope.states.push(项目);
});
警报($scope.states)//警报这些值

陈述
{{s.name}}

感谢您给出答案,但状态下拉列表从未显示。所以我甚至不知道states.push是否是有效的解决方案我想你没有在模板中引用正确的对象,我正在更新答案state下拉列表是空的你是否正确连接了控制器和html?你能发布这部分代码吗?谢谢你给出答案,但状态下拉列表从未显示。所以我甚至不知道states.push是否是有效的解决方案我想你没有在模板中引用正确的对象,我正在更新答案state下拉列表是空的你是否正确连接了控制器和html?你能发布这部分代码吗?