webForumDet fria alternativet

byta ut flera <selects> med fördefinierad data

JavaScriptur Javascript

3 svar · 232 visningar · startad av tlee

Medlem sedan mars 2001290 inlägg
Frågan#1

Hej..

Ett problem..

Det är ungefär såhär.. jag har en "master droplist" där man väljer mellan "dator svart" och "dator vit"

sen har jag ytterligare låt säga fem droplister där man väljer cdspelare, hårddisk, minne och sånt.

väljer jag "dator svart" i "master droplisten" så skall innehållet i de fem andra ändras till de värden
som hör till "dator svart".. t.ex en svart dvd, svart tangentbord och svart skärm. väljer jag en "dator vit"
så skall man bara kunna välja vita delar. när du har gjort huvudvalet skall du kunna välja vidare i de
andra droplisterna och sen posta formuläret.

all information ligger i en sql databas som jag måste läsa ut och antar jag mellanlagra nånstans, finns det
något som liknar asp's recordset i javascript eller skall jag lägga det i arrayer eller en massa <input type=hidden>?

någon som har några idéer om hur man skall bygga upp detta?

Mvh

Tobias

Medlem sedan juli 2000836 inlägg
Medlem sedan mars 2001290 inlägg
#3

ah.. perfekt då är jag en bit på vägen men med mina obefintliga javascriptkunskaper stöter jag på patrull direkt.

<html>
<head>
<script language="JavaScript" type="text/javascript">

function byt(){
var sel_index = document.foo.mainbar.options[document.foo.mainbar.selectedIndex].value
var ny_sel = document.foo.bar1.options

// Alternativ 1
if(sel_index == 0){ ny_sel.length = 2  // Hur många rader skall det vara?
ny_sel[0].value ="a1"; ny_sel[0].text ="Chassi Olle ATX vit";  // Värde och text på rad 1
ny_sel[1].value ="a2"; ny_sel[1].text ="Chassi Pelle ATX vit";  // Värde och text på rad 2

}

// Alternativ 2
if(sel_index == 1){ ny_sel.length = 2
ny_sel[0].value ="b1"; ny_sel[0].text ="Chassi Olle ATX svart";  
ny_sel[1].value ="b2"; ny_sel[1].text ="Chassi Pelle ATX svart";

}

}
</script>

</head>
<body>

<form name="foo">
<select name="mainbar" onChange="byt();">
<option value="0">Dator Vit</option>
<option value="1">Dator Svart</option>
</select>
<br><br>
<hr>

<br>
<select name="bar1">
<option value="A">Chassi Olle ATX vit</option>
<option value="B">Chassi Pelle ATX vit</option>
</select> 
<br>
<select name="bar2">
<option value="A">DVD Nec vit</option>
<option value="B">DVD Pioneer vit</option>
</select> 
</form>

</body>
</html>

Kan man få den att ändra båda barsen samtidigt?
Kan man ändra denna så man slipper definiera ett visst antal rader?

if(sel_index == 0){ ny_sel.length = 2

Tack

/Tobias

Medlem sedan mars 2001290 inlägg
#4

ingen som vet?.. all hjälp uppskattas extremt mkt.

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