gpt4 book ai didi

javascript - AngularJS (1.5.8) - 如何直接从获取 json 对象的 Controller 内填充选择选项列表?

转载 作者:行者123 更新时间:2023-11-28 15:04:47 25 4
gpt4 key购买 nike

我有一个 AngularJS 应用程序,我想从 JSON 结果填充选择下拉列表。

Controller 代码获取 json,但如何填充 $scope.states。

我的下拉菜单在获取时仍然为空,并且页面的资源不会呈现。

$scope.accountAddresses 是一个包含各种数据的 JSON 容器。我只关心 ShippingState 键。

HTML 代码

<select name="shippingState" id="shippingState"  ng-model="accountAddresses.shippingState"  class="state form-control" size="1">

Controller JSON 获取代码

 $http.get( serviceBase + 'Assets/us-states.json').success(function(d){
$scope.states = d;
});

我尝试了 ng-repeat="state in $scope.states" 但我没有在下拉列表中获得任何数据(状态缩写)。

JSON 示例数据

[
{
"name": "Alabama",
"abbreviation": "AL"
},
{
"name": "Alaska",
"abbreviation": "AK"
}]

如何让总体像下面的选项 html 代码一样工作?

 <option value="AK">AK</option>
<option value="AL">AL</option>

编辑

使用以下代码

 <select name="shippingState" id="shippingState"  ng-model="accountAddresses.shippingState"  ng-options ="s.abbreviation as s.name for s in states" class="state form-control" size="1">

我得到以下内容,但我需要删除“string:”和标签

<option value="string:AL" label="Alabama">Alabama</option>
<option value="string:AK" label="Alaska">Alaska</option>

最佳答案

您可以使用 ng-options 来执行此操作,

<select ng-model="selectedItem" ng-options ="s.name  for s in states"></select>

Controller :

  function($scope, $http) {
$http.get('test.json').then(function (response){
$scope.states = response.data;
console.log(response);
});

DEMO APP

关于javascript - AngularJS (1.5.8) - 如何直接从获取 json 对象的 Controller 内填充选择选项列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39476181/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com