【发布时间】:2016-08-07 07:03:25
【问题描述】:
在过去的几天里,我在这个问题上遇到了很多麻烦。基本上,我正在尝试基于从数据库返回的 JSON 来创建一系列下拉菜单。两天前我能够让它正常工作,但我们只是重写了我们的后端代码以返回不同格式的 JSON,我必须重写很多东西才能让它工作。我们名字 JSON 的格式是这样的:
provisions: {
NAME OF DROPDOWN MENU1: [VALUE1, VALUE2, VALUE3, ..],
NAME OF DROPDOWN MENU2: [VALUE1, VALUE2, VALUE3, ..],
NAME OF DROPDOWN MENU3: [VALUE1, VALUE2, VALUE3, ..]
}
基于该 JSON,我想创建 3 个下拉菜单,其中包含相关值。我还希望能够显示服务器返回的任何先前保存的数据(例如,如果用户在第一个下拉列表中选择值 2 并保存页面,则第一个下拉列表将在他们下次访问该页面时显示值 2 )。
这是我目前必须尝试显示下拉菜单的 HTML:
<form class="form-horizontal" ng-controller="GamePreferenceCtrl">
<div ng-repeat="(name, section) in gameConfigs">
<label ng-bind="name"></label>
<select class="form-control" ng-model="formData.settings[$index].value" ng-change="dropdownItemClicked(name, formData.settings[$index].value)">
<option value="" disabled="disabled">---Please Select Option---</option>
<option ng-repeat="item in section" value="{{item.value}}" ng-bind="item.value"></option>
</select>
</div>
<div class="col-md-12" ng-include="gametemp"></div>
<div class="row">
<div class="hr-line-dashed"></div>
<div class="text-center col-md-12 padding-15">
<button class="btn btn-primary btn-lg" ng-click="saveGameSetting()" formnovalidate translate>
<i class='fa fa-circle-o-notch fa-spin' ng-if="showBusy"></i> Save
</button>
</div>
</div>
</form>
所写的方式将显示下拉菜单,其上方带有适当的名称,但下拉菜单中的每个选项都是空白的。对此的任何帮助表示赞赏。谢谢你。
【问题讨论】:
-
provisions表示gameConfigs还是什么?另外,如果你能发布一个有用的object/array.. -
是的,gameConfigs 是我在控制器中创建的一个对象。我的控制器设置为检查是否有从 API 返回的配置对象,如果有,则创建一个与配置对象完全相同的结构的 gameConfigs 对象。我不知道如何更清楚对象数组的结构,除了类似:provisions: { food: ["burger", "burrito"],drink: ["coke", "sprite", "mountain露”],甜点:[“圣代”]}
标签: javascript angularjs drop-down-menu ng-repeat ng-options