webForumDet fria alternativet

Show/hide som inte funkar i Firefox.

2 svar · 1 018 visningar · startad av oskars

oskarsMedlem sedan nov. 20051 317 inlägg
#1

Hej på er!

Long time no see!

Jag har hittat en funktion som visar/döljer divvar, och den är gjord i javascript, men jag får det inte att fungera i Firefox!

I IE fungerar scriptet som det ska. Så även i Safari... Men varför inte i Firefox?

Jag har testat många olika varianter på scriptet som jag hittat via Google, men inget har fungerat.

Har ni nått tips på lösning?

function give_me(myv) {

	var antal_rutor = swemerch_form_order.antal_rutor_select.options[swemerch_form_order.antal_rutor_select.selectedIndex].value
	
	if (antal_rutor == 1) { 
		document.getElementById('prod_1').style.display = 'block'; 
		document.getElementById('prod_2').style.display = 'none'; 
		document.getElementById('prod_3').style.display = 'none'; 
		document.getElementById('prod_4').style.display = 'none'; 
		document.getElementById('prod_5').style.display = 'none';
	} else if (antal_rutor == 2) {
		
		document.getElementById('prod_1').style.display = 'block'; 
		document.getElementById('prod_2').style.display = 'block'; 
		document.getElementById('prod_3').style.display = 'none'; 
		document.getElementById('prod_4').style.display = 'none'; 
		document.getElementById('prod_5').style.display = 'none';
		
	} else if (antal_rutor == 3) {
		
		document.getElementById('prod_1').style.display = 'block'; 
		document.getElementById('prod_2').style.display = 'block'; 
		document.getElementById('prod_3').style.display = 'block'; 
		document.getElementById('prod_4').style.display = 'none'; 
		document.getElementById('prod_5').style.display = 'none';
		
	} else if (antal_rutor == 4) {
		
		
		document.getElementById('prod_1').style.display = 'block'; 
		document.getElementById('prod_2').style.display = 'block'; 
		document.getElementById('prod_3').style.display = 'block'; 
		document.getElementById('prod_4').style.display = 'block'; 
		document.getElementById('prod_5').style.display = 'none';
		
	} else if (antal_rutor == 5) {
		
		document.getElementById('prod_1').style.display = 'block'; 
		document.getElementById('prod_2').style.display = 'block'; 
		document.getElementById('prod_3').style.display = 'block'; 
		document.getElementById('prod_4').style.display = 'block'; 
		document.getElementById('prod_5').style.display = 'block';
	}
	
}
<select name="antal_rutor_select" onchange="give_me();">					
	<option value="0">Välj...</option>
	<option value="1">1st</option>
	<option value="2">2st</option>
	<option value="3">3st</option>
	<option value="4">4st</option>
	<option value="5">5st</option>
</select>

Mvh
Oskar

voigtann1Medlem sedan juni 20019 519 inlägg
#2

ändra:

 onchange="give_me();">

till:

 onchange="give_me(this);">

och ändra

var antal_rutor = swemerch_form_order.antal_rutor_select.options[swemerch_form_order.antal_rutor_select.selectedIndex].value

till

var antal_rutor = myv.value;

Sen känns det som att hela funktionen kan göras bättre.

Om det alltid är samma tal i din dropdown:

http://jsbin.com/inesi/edit

oskarsMedlem sedan nov. 20051 317 inlägg
#3

Bussigt av dig! Stort tack för den förenklade koden!

129 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)