2010-04-28 19 views
29

option veya optgroup HTML öğelerini gizlemenin bir yolu var mı? JQuery'de hide() numaralı telefonu aramayı ve ayrıca style.display='none''u ayarlamak için normal Javascript kullanmayı denedim.Optgroup/seçenek öğeleri nasıl gizlenir?

Firefox'ta çalışır, ancak başka tarayıcılarda kullanılmaz. Aslında onları DOM 'dan kaldırmak, çalışmasını yapar, bu nedenle her bir DOM öğesini kaldırıldığında kurtarmanın bir yolu vardır ve bunları aynı yere yeniden yerleştirebilirsiniz.

Benim HTML şu şekildedir:

başka örneğin seçmek olun:

<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'nin doğru olması ve yalnızca bunları devre dışı bırakma konusunda iyiyseniz, '$ (' optgroup [label = Swansea] '). Attr (' disabled ', true) 'iyi çalışıyor gibi görünüyor. –

+0

@MaxShawabkeh '

cevap

11

ben bu çözüm benim için iyi çalıştığını anladım Bu gizli seçimde, 'gizle' bazı OPTGROUP, sadece 'park' o istediğinizde

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

sonra

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

gizlemek.

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

Aynı şekilde görünür hale getirebilirsiniz. Bu benim çözümümün parçacıkları, benim için iyi çalışıyor.

+1

Başka bir yol da, verileri gizli seçim yerine işlem yapabileceğiniz bir JSON nesnesinde depolamak olabilir. – radtek