将选项值设置为数组

Posted

技术标签:

【中文标题】将选项值设置为数组【英文标题】:set option value as array 【发布时间】:2015-08-24 20:04:45 【问题描述】:

设置一些权限。我希望能够将我的 item.roles 设置为数组。这可能吗?如果不是,那么让我的 item.roles 模型最终成为一个数组的最聪明的方法是什么?

  <select class="form-control" ng-model="item.roles" ng-init="item.roles[0]='client'">
    <option value="[super, admin, producer, resource, client]">Super</option>
    <option value="[admin, producer, resource, client]">Admin</option>
    <option value="[producer, resource, client]">Producer</option>
    <option value="[resource, client]">Resource</option>
    <option value="[client]">Client</option>
 </select>

【问题讨论】:

您应该在控制器中定义这些数组值。 您应该在控制器中创建一个映射,其中键是角色,值是具有角色的数组。 你能举个例子吗?我是地图新手 【参考方案1】:

你可以使用ngList指令:

<select class="form-control" ng-list ng-model="item.roles" ng-init="item.roles=['client']">
    <option value="super, admin, producer, resource, client">Super</option>
    <option value="admin, producer, resource, client">Admin</option>
    <option value="producer, resource, client">Producer</option>
    <option value="resource, client">Resource</option>
    <option value="client">Client</option>
</select>

注意,在这种情况下,选项值是逗号分隔的列表(或者您可以更改分隔符)。

ngList 指令用于将分隔的值列表转换为数组:

在分隔字符串和字符串数组之间转换的文本输入。默认分隔符是一个逗号后跟一个空格 - 相当于 ng-list=", "。您可以将自定义分隔符指定为 ngList 属性的值 - 例如,ng-list=" | "。

演示: http://plnkr.co/edit/TbkEne7ap4WpCS4UPj7U?p=preview

【讨论】:

以上是关于将选项值设置为数组的主要内容,如果未能解决你的问题,请参考以下文章

通过 JS 获取 Select 选项值并设置数组索引

如何将选择的所有选项设置为“所有”选项选项的值?

如何从共享首选项中检索数组列表并将数组列表设置为 recyclerview

[将选项值设置为选择文本

PHP 将论文中的选项设置恢复为默认值

修改RichTextBox中的默认选项卡大小