我尝试使用隐藏的'选择性隐藏下拉列表中的选项。属性。请查看jsfiddle,其中我隐藏了最安静的'选项。
$('#quietest').prop('hidden', 'hidden');
点击下拉列表中的箭头时,“安静”'选项已成功隐藏(仅列出'最快'以及'平衡'但是,用户仍然可以选择“最安静”的选项。使用键盘选项。对于“隐藏”的预期行为是什么?属性?如何正确隐藏,以便它不再可选?它也需要很容易取消隐藏选项(因此最好不要删除选项)。
答案 0 :(得分:3)
要停止被选中,请同时添加disabled
$('#quietest').prop('disabled', true).hide();
答案 1 :(得分:3)
您可以尝试这样:
Fiddle - hiding with hidden
property
$('#quietest').prop('disabled', true).prop('hidden', true);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="dptcentres_edit">
<option value="fastest">Fastest</option>
<option selected="true" value="balanced">Balanced</option>
<option id='quietest' value="quietest">Quietest</option>
</select>
修改强>
由于@ billyonecan的评论,我替换了隐藏方法,而不是使用hidden
属性,我使用CSS display
属性并将其设置为none以隐藏元素。正确地说明了hidden
属性isn't supported by all browsers。
Fiddle - Hiding with CSS display
attribute
$('#quietest').prop('disabled', true).css('display', 'none');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="dptcentres_edit">
<option value="fastest">Fastest</option>
<option selected="true" value="balanced">Balanced</option>
<option id='quietest' value="quietest">Quietest</option>
</select>
答案 2 :(得分:0)