基于具有键的对象创建一系列下拉菜单:[下拉选项数组]对?

时间:2016-08-06 22:52:13

标签: javascript angularjs drop-down-menu ng-repeat ng-options

在过去的几天里,我遇到了很多麻烦。基本上,我正在尝试基于数据库的JSON返回创建一系列下拉菜单。我能够让它在2天前工作得很好,但是我们只是重写了我们的后端代码以返回不同格式的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>

写入的方式将显示下方菜单,上面显示相应的名称,但下拉列表中的每个选项都是空白的。对此有任何帮助表示赞赏。谢谢。

1 个答案:

答案 0 :(得分:1)

您是否尝试过这样做?

select ID as UserID, FirstName, LastName, Email, Password, Roles, LastLoginTime, LoginCount, Active, case when exists ( select 1 from Notification n where n.ID > u.LastReadNotification ) then 1 else 0 end as NotifyA, ( select sign(count(*)) from Notification n where n.ID > u.LastReadNotification ) as NotifyB from User

我不确定<option ng-repeat="item in section" value="{{item.value}}">{{item.value}}</option>是否可以访问ng-bind,因为item.value位于同一元素上,因此可能效果更好。