Заполнитель для тега `select`?

Мне интересно, как добиться эффекта placeholder с помощью тега select , было бы очень приятно иметь выбранный по умолчанию вариант, например, «Пожалуйста, select вариант:».

Я пробовал некоторые варианты, и они пока не работают, и я уверен, что это может быть достигнуто, потому что я видел его где-то (не помню, где).

Я пробовал это:

1)

 
Some Slower Slow Fast Faster

2)

 
Some Slower Slow Fast Faster

Оба не работают, может быть, есть метод jQuery, чтобы это сделать?

Быстрое редактирование: я НЕ хочу просто отключить один из параметров и сделать его selected потому что он все равно будет отображаться в раскрывающемся списке с другими элементами.

Вот два типа замещающих, повторно выбираемых и скрытых:

Демо: http://jsfiddle.net/lachlan/FuNmc/

Повторно выбираемый заполнитель:

  

Скрытый заполнитель:

  

CSS для изменения цвета первого элемента:

 select option { color: black; } select option:first-child { color: grey; } select.empty { color: grey; } /* Hidden placeholder */ select option[disabled]:first-child { display: none; } 

И немного jQuery для переключения цвета шрифта после выбора:

 // Applies to all select boxes that have no value for their first option $("select:has(option[value=]:first-child)").on('change', function() { $(this).toggleClass("empty", $.inArray($(this).val(), ['', null]) >= 0); }).trigger('change'); 

Вдохновение:
https://stackoverflow.com/a/5805194/1196148 – переупорядочиваемый заполнитель
https://stackoverflow.com/a/8442831/1196148 – скрытый заполнитель

Я создал простую демонстрацию, следуя предложению @Truth: http://jsfiddle.net/6QnXF/

 (function($){ $('#myAwesomeSelect').change(function(){ if( !$(this).data('removedPlaceHolder')) { $(this).find('option:first').remove(); $(this).data('removedPlaceHolder', true); } }); })(jQuery); 

Надеюсь, это сработает для вас.

Насколько я знаю, это невозможно сделать с помощью одного HTML (хотя это было бы хорошо). Вы можете подделать его с помощью выбранного варианта (я знаю, что вы этого не хотите, но это, вероятно, единственный способ). Когда выбран другой параметр, его можно удалить.

Вот рабочий пример того, что я описываю.

Я предполагаю, что вам нужно будет создать собственное обходное решение для windows выбора. Что-то вроде серии div, которые действуют как опции, которые при нажатии отображаются, и их значение вставляется в скрытое поле ввода.