如何禁用使用bootstrap selectpicker和ng-options显示的先前选择的选择选项

时间:2015-05-15 10:43:20

标签: html angularjs twitter-bootstrap

我有一个多选下拉列表。我需要做的是当用户登陆页面时,我需要限制他修改他之前的选择,基本上禁用下拉列表中的那些选项。这是html -

<div>
    <select multiple class="form-control selectpicker" ng-model="selectedNames" data-live-search="true" ng-options="opt.name for opt in availableNames track by opt.id" ng-change="onNameChange()"> </select>
</div>

尝试过建议链接 - http://silviomoreto.github.io/bootstrap-select/

但是如果在使用ng-options时手动添加选项标签,它就不会显示出来。因此尝试使用ng-repeat而不是ng-options但是使用ng-repeat我的下拉列表停止显示针对先前选择的值的刻度标记&amp;默认情况下显示 - &#34;没有选择值&#34;,尽管模型仍然有它们。

如何在不使用jquery的情况下实现此目的的任何指针?

由于 阿努普

1 个答案:

答案 0 :(得分:0)

在ngOptions中使用disable when语法。有关详细信息,请参阅ngOptions docs。在ngOptions中添加一个键,以指示该字段之前是否已由用户选择,例如。 prevSelected: true并告诉ngOptions在设置/存在此密钥时禁用选项。

<select ng-model="myColor" ng-options="color.name disable when color.prevSelected for color in colors"></select>

Example on plnkr