Selectbox скрыть первую опцию ввода в раскрывающемся списке? - PullRequest
2 голосов
/ 18 октября 2011

Можно ли скрыть первый параметр, т. Е. <option>Select One</option>, когда пользователь щелкает раскрывающийся список для просмотра параметров. Поэтому текст Select One не появляется в списке

Ответы [ 5 ]

7 голосов
/ 18 октября 2011

Поскольку не существует надежного кросс-браузерного способа скрытия 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);
    });
});

Вот рабочий пример

6 голосов
/ 28 июля 2016

Вы можете использовать свой обычный HTML для сокрытия первого элемента опции, когда select открывается как:

<select name="list">
    <option selected="selected" hidden>First Element</option>
    <option>Second Element</option>
    <option>Third Element</option>

</select>

Вот рабочая скрипка: https://jsfiddle.net/sujan_mhrzn/y5kxtkc6/

3 голосов
/ 04 января 2013

В качестве быстрой опции CSS вы можете задать для раскрывающегося списка идентификатор, а затем

#cat option:first-child {
 display: none;
 } 

В приведенном выше коде используется #cat в качестве идентификатора раскрывающегося списка

Учебное пособие для этого решения

1 голос
/ 18 октября 2011

Единственный кросс-браузерный метод - полностью удалить его.В простой старой 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); 
});
0 голосов
/ 18 октября 2011

Если вы хотите удалить опцию, простой код будет:

var mySelect = document.getElementById('mySelect');

mySelect.onfocus = function() { mySelect.removeChild(mySelect.options[0]); }

где mySelect - идентификатор поля выбора.

Редактировать: я изменил код, чтобы добавить прослушиватель событий для события фокуса. Однако этот код удалит первый параметр каждый каждый раз, когда вы выбираете поле выбора. Уверен, это не то, что вам нужно. Вы можете использовать onblur, чтобы добавить опцию снова, но я не знаю, если это то, что вам нужно. Пожалуйста, уточните, что вы хотите сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...