我有一个多选下拉列表。我需要做的是当用户登陆页面时,我需要限制他修改他之前的选择,基本上禁用下拉列表中的那些选项。这是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的情况下实现此目的的任何指针?
由于 阿努普
答案 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>