2015-05-15 17 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