Как скрыть элементы optgroup / option? - PullRequest
29 голосов
/ 28 апреля 2010

Есть ли способ скрыть option или optgroup элементы HTML? Я пытался вызвать hide() в jQuery, а также с помощью обычного Javascript для установки style.display='none'.

Работает в Firefox, но не в других браузерах. На самом деле удаление их из DOM работает , так что, возможно, есть способ сохранить каждый элемент DOM после его удаления и снова вставить их в то же место?

Мой HTML такой:

<select name="propsearch[area]" id="propsearch_area">
    <option value="0">- Any -</option>
    <optgroup label="Bristol">
        <option  value="Hotwells">Hotwells</option>
        <option  value="Montpelier">Montpelier</option>
    </optgroup>
    <optgroup label="Cardiff">
        <option  value="Heath">Heath</option>
        <option  value="Roath">Roath</option>
    </optgroup>
    <optgroup label="Exeter">
        <option  value="Pennsylvania Road">Pennsylvania Road</option>
        <option  value="Lower North Street">Lower North Street</option>
    </optgroup>
    <optgroup label="Swansea">
        <option  value="Brynmill">Brynmill</option>
        <option  value="Uplands">Uplands</option>
    </optgroup>
</select>

1 Ответ

11 голосов
/ 05 марта 2012

Я понял, что это решение отлично работает для меня:

Сделайте еще один выбор, например,

$("#footer_canvas").after('<select id="parkingLot"></select>');

затем скрыть

$("#parkingLot").hide();

Если вы хотите «спрятать» некоторую группу, просто «припаркуйте» ее в этом скрытом выделении.

$('#VehicleVehicleCategoryId optgroup[label="kategorie L"]').appendTo("#parkingLot");

Точно так же, как вы можете сделать это видимым. Это всего лишь фрагменты моего решения, которое отлично работает для меня.

...