在以下情况下我需要帮助:
我在表格中使用单选下拉菜单。每行都有自己的下拉菜单。 现在有2个用于更改选择的选项:
单击取消选择('x')图标(可以正常操作-通过ng-change)。
打开下拉菜单,从列表中选择另一个值。覆盖先前的值(尽管ng-change会触发,但我无法知道它是新值还是覆盖值)。
我希望禁用第二种行为。是否可以“告诉”选择一个值,重新选择一个新值的唯一方法是单击“ x”? 例如:一旦选择了值,请禁用下拉菜单,隐藏“箭头”图标,但保持“ x”取消选择图标处于活动状态?
<select chosen
allow-single-deselect="true"
placeholder-text-single="'Select'
ng-model="row.userSelection"
ng-options="field as field.name for field in vm.fields">
<option value=""></option>
</select>
谢谢。
答案 0 :(得分:0)
添加ng-disabled =“ $ ctrl.model”将禁用选择,直到“ x”清除$ ctrl.model。清除后,将重新启用选择并可以进行新选择。
快速浏览后,我唯一想到的就是将ng-options转换为,并在实际的option元素上使用ng-disabled。该文档说,您可以隐藏禁用的选项,因此,例如,如果要选择OPTION1并且OPTION [2-4]被禁用,则将从列表中将其删除。
我找到了1.0版本的插件,但它不起作用。使选项变为混乱的选项仍然显示在列表中,尽管在您选择它们时使它们变得不确定。也许已更新了一个较新的版本以实际将其删除。