2015-05-15 15 views
0

我有一个多选择下拉菜单。我需要做的是当用户登录页面时,我需要限制他修改他以前的选择,基本上禁用下拉内的这些选项。下面是HTML -如何禁用先前选择的选项显示使用引导selectpicker和ng选项

<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选项,它只是没有得到显示。所以尝试使用ng-repeat而不是ng-options,但是使用ng-repeat我的下拉列表停止显示对先前选定值的刻度标记&默认情况下显示 - “没有选择任何值”,尽管模型仍有它们。

任何指针如何实现这一点,而不诉诸于jQuery?

感谢 阿努普

回答

0

使用disable when语法ngOptions。有关更多详细信息,请参阅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

+0

感谢@kachhalimbu,但不幸的是禁用,当只有1.4以后版本支持。我们正在使用1.3X版本。 – adhiran

+0

我明白了。这里是一个类似的线程,你可以参考http://stackoverflow.com/questions/16202254/ng-options-with-disabled-rows – kachhalimbu

+0

是的,我只在这方面工作。它与它合作!谢谢你的帮助。 – adhiran