2010-04-28 28 views
29

有沒有辦法隱藏optionoptgroup HTML元素?我試過在jQuery中調用hide(),並且還使用常規的Javascript來設置style.display='none'如何隱藏optgroup/option元素?

它適用於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> 
+0

如果R0MANARMY正確無誤,只需禁用它們,'$('optgroup [label = Swansea]')。attr('disabled',true)'似乎工作正常。 – 2010-04-28 17:29:57

+0

@MaxShawabkeh'

回答

11

我想,這種解決方案對我的作品罰款:

進行其他選擇如

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

然後把它隱藏

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

當你想 '隱藏' 一些OPTGROUP,只是 '暫停' 它這個隱藏選擇。

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

您可以使其可見的相同方式。 這只是我的解決方案的片段,對我來說工作正常。

+1

另一種方法是將數據存儲在可以操作的JSON對象中,而不是隱藏的選擇。 – radtek 2014-05-26 19:43:19