Javascript 当select只有一项时,如何禁用select下拉菜单

Javascript 当select只有一项时,如何禁用select下拉菜单,javascript,angularjs,angular-strap,Javascript,Angularjs,Angular Strap,我正在使用angularstrap中的“选择”小部件 我想知道如何防止选择的下拉菜单只有一个项目。默认情况下只选择了一个项目,如何防止选择时的单击事件显示下拉菜单 这是Angulars陷阱缺少的特征吗 选中中的单选,它不是角度捕捉功能,但当您的选择只有一项时,您可以使用ng hide、ng show或ng if等属性来隐藏特定的元素 更新: 根据您的示例,更改单选部分: <label>Single select:&nbsp;</label> <button

我正在使用angularstrap中的“选择”小部件

我想知道如何防止选择的下拉菜单只有一个项目。默认情况下只选择了一个项目,如何防止选择时的单击事件显示下拉菜单

这是Angulars陷阱缺少的特征吗


选中

中的
单选
,它不是角度捕捉功能,但当您的选择只有一项时,您可以使用
ng hide
ng show
ng if
等属性来隐藏特定的
元素

更新: 根据您的示例,更改
单选部分:

<label>Single select:&nbsp;</label>
<button ng-if="icons.length > 1" type="button" class="btn btn-default" ng-model="selectedIcon" data-html="1" bs-options="icon.value as icon.label for icon in icons" bs-select>
  Action <span class="caret"></span>
</button>
<button ng-if="icons.length === 1" type="button" class="btn btn-default" ng-model="selectedIcon" data-html="1">
  {{icons[0].value}}
</button>
单选:
行动
{{图标[0]。值}

我不能添加齿轮图标,但我希望它很容易修复;)

我会像@Egan Wolf提到的那样做,但问题是用户体验。仅仅因为数据已更改或不足以用于选择框,就向用户显示一些不同的内容是不太好的。我会将其禁用,这样用户将得到一个清晰的视觉反馈,他/她无法选择更多的内容。

你说的“选择”下拉菜单只有一个项目是什么意思?“选择”小部件的选项数量取决于型号。它可能有几个项目,或者在某些情况下只有一个项目。如果“选择”只有一个选项,我希望单击“选择”小部件时不会弹出下拉菜单。请检查更新问题中的示例。下拉列表
是由angularstrap创建的,而不是由应用程序本身创建的。您的解决方案在只有一个项目的select中工作。但是,如果有多个选项,则在更改选项时不会更新model selectedIcon。请参见更新示例中的症状。@Kane当您使用
ng show
而不是
ng if
时,它会起作用。我想这可能是
$scope
的问题。很抱歉晚了才接受。演示代码现在可以正常工作了。我的项目中仍有一些奇怪的事情发生。更改选项后,仍然无法更新模型对象。显然,我项目的控制器比演示更复杂。无论如何,这是你应得的。