скрыть выбранную опцию в поле выбора - PullRequest
0 голосов
/ 16 апреля 2011

Я заметил странное поведение с формой выбора элемента и jQuery .fadeOut / .hide

У меня есть простое поле выбора :

<select name="categories">
  <optgroup label="Choose option:">
    <option selected="selected" value="placeholder">CHOOSE OPTION</option>
    <option value="category-books">Books</option>
    <option value="category-music">Music</option>
  </optgroup>
</select>

И с помощью jQuery я хотел удалить опцию : выбран (мой способ эмулировать заполнитель в этом поле), когда пользователь нажимает , выбирает с этим кодом:

$('select').click(function() {
    $('option[value=placeholder]').fadeOut('slow');
});

$('select').blur(function(){
    $('option[value=placeholder]').fadeIn('slow');
});

Этот код в Firefox работает, а опция плавно исчезает после нажатия, но в других баузерах (IE9, Opera, Chrome) это не работает: - [Здесь Вы можете проверить это: http://jsfiddle.net/cachaito/Xy7DF/3/

Я пытался .remove (работает) и .hide (не), но я хотел, чтобы анимация скрывала этот элемент ...

PS. Знаете ли вы лучший способ для элемента fadeIn option , когда пользователь оставляет поле select (focusout работает так же, как .blur)?

1 Ответ

1 голос
/ 03 марта 2012

Попробуйте изменить

$('option[value=placeholder]').fadeOut('slow')

с

$('option[value=placeholder]', this).fadeOut('slow')

Это то, что я делаю в своем коде, чтобы скрыть «опцию»

$('#mySelect option[value=' + myVal + ']').hide().siblings().show();
...