将选项值设置为数组

时间:2015-06-09 19:55:28

标签: javascript angularjs forms html-input

设置一些权限。我希望能够将我的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 个答案:

答案 0 :(得分:2)

您可以使用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 =&#34;,&#34;。您可以指定自定义分隔符作为ngList属性的值 - 例如,ng-list =&#34; | &#34;

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