是否基于一个Object创建一系列下拉菜单,其中键为:[下拉选项数组]对

Creating a series of dropdown menus based on an Object with key: [array of dropdown options] pairs?

本文关键字:选项 数组 Object 于一个 创建 一系列 下拉菜单 是否      更新时间:2023-09-26

在过去的几天里,我遇到了很多问题。基本上,我试图基于数据库返回的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>&nbsp;Save
            </button>
        </div>
    </div>
</form>

这样写的方式会显示下拉菜单,上面有合适的名称,但下拉菜单中的每个选项都是空白的。如有任何帮助,我们将不胜感激。非常感谢。

你试过这样做吗?

<option ng-repeat="item in section" value="{{item.value}}">{{item.value}}</option>

我不确定ng-bind是否可以访问item.value,因为ng-repeat在同一个元素上,所以这可能会更好地工作。