【发布时间】:2015-09-19 18:04:36
【问题描述】:
我正在尝试使用“隐藏”属性有选择地隐藏下拉列表中的选项。请查看jsfiddle,我在其中隐藏了“最安静”选项。
$('#quietest').prop('hidden', 'hidden');
单击下拉列表中的箭头时,“最安静”选项被成功隐藏(仅列出“最快”和“平衡”),但是,用户仍然可以使用键盘选择“最安静”选项。这是“隐藏”属性的预期行为吗?如何正确隐藏使其不再可选择?取消隐藏选项也需要很容易(因此最好不要删除该选项)。
【问题讨论】:
-
你会使用
.show()/.hide()或.toggle()。不过,在某些浏览器中隐藏选项存在问题。您最好使用.prop('disabled', true|false)启用/禁用该选项 -
@chiapa 解决方案将适用于您,如果您想阻止选项选择而不是隐藏。但是禁用的选项仍然会显示在下拉列表中。如果您想同时获得两者,请尝试在需要时删除选项并在需要显示时附加。