当用户点击下拉框以查看选项时,是否可以隐藏第一个选项,即<option>Select One</option>
。因此,选择一个文本不会出现在列表
答案 0 :(得分:7)
由于没有可靠的跨浏览器隐藏option
元素的方法,最好的办法是将其删除focus
并在blur
上再次添加:
jQuery(document).ready(function () {
var first = jQuery('#myselect').find('option').first();
jQuery('#myselect').on('focus', function (e) {
first.remove();
}).on('blur', function (e) {
jQuery(this).find('option').first().before(first);
});
});
答案 1 :(得分:6)
当select打开时,您可以使用纯HTML隐藏第一个元素选项:
<select name="list">
<option selected="selected" hidden>First Element</option>
<option>Second Element</option>
<option>Third Element</option>
</select>
答案 2 :(得分:3)
作为一个快速的CSS选项,你可以给下拉列表一个id然后
#cat option:first-child {
display: none;
}
以上使用#cat作为下拉列表的ID
答案 3 :(得分:1)
唯一的跨浏览器方法是完全删除它。简单地说'JS:
var sel = document.getElementById("mySelect");
sel.onfocus = function () {
select.onfocus = null;
sel.removeChild(sel.firstChild);
}
jQuery的:
$("#mySelect").focus(function () {
$(this).remove(this.firstChild).unbind(arguments.callee);
});
答案 4 :(得分:0)
如果要删除该选项,则简单代码为:
var mySelect = document.getElementById('mySelect');
mySelect.onfocus = function() { mySelect.removeChild(mySelect.options[0]); }
其中mySelect
是选择框的ID。
编辑:我更改了代码以附加焦点事件的事件侦听器。但是,此代码会删除您选择选择框时的第一个选项每时间。很确定这不是你需要的。您可以使用onblur再次附加选项,但我不知道这是否是您需要的。请说明你想做什么。