【问题标题】:how to disable previously selected select options displayed using bootstrap selectpicker and ng-options如何禁用使用引导选择选择器和 ng-options 显示的先前选择的选择选项
【发布时间】:2015-05-15 10:43:19
【问题描述】:

我有一个多选下拉菜单。我需要做的是当用户登陆页面时,我需要限制他修改他以前的选择,基本上禁用下拉列表中的那些选项。这是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 我的下拉菜单停止显示针对先前选择的值的刻度线,并且默认显示 - “未选择值”,尽管模型仍然具有它们。

任何指针如何在不借助 jquery 的情况下实现这一点?

谢谢 阿努普

【问题讨论】:

    标签: html angularjs twitter-bootstrap


    【解决方案1】:

    在 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

    【讨论】:

    • 感谢@kachhalimbu,但不幸的是,仅在 1.4 版本之后才支持 disable-when。我们使用的是 1.3X 版本。
    • 我明白了。这是一个类似的线程,您可以参考stackoverflow.com/questions/16202254/…
    • 是的,我只是在做那个。它与它一起工作!感谢您的帮助。
    猜你喜欢
    • 2016-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-06
    • 1970-01-01
    • 1970-01-01
    • 2021-12-11
    相关资源
    最近更新 更多