如何隐藏optgroup / option元素?

时间:2010-04-28 17:15:56

标签: javascript jquery html option optgroup

有没有办法隐藏optionoptgroup HTML元素?我尝试在jQuery中调用hide(),并使用常规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 个答案:

答案 0 :(得分:11)

我认为这个解决方案适用于我:

再做一次选择,例如

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

然后将其隐藏

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

如果你想“隐藏”一些optgroup,只需将它“停放”在这个隐藏的选择中。

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

同样可以让它可见。 这只是我的解决方案的片段,对我来说很好。