fundrusseMedlem sedan jan. 2002286 inlägg
Ser någon något fel på den här koden...
Får inte den att funka riktigt.
-----------------------------------------------------------------
<script type="text/javascript">
function section_OnChange(tSelectedVal) {
var Selmeny2 = document.forms[0].Category;
SelLst_Clear(Selmeny2);
if( tSelectedVal==0) {
SelLst_Add( Selmeny2, "Välj sektion", "0")
} else if (tSelectedVal==59) {
SelLst_Add( Selmeny2, "DAT", "78")
SelLst_Add( Selmeny2, "Iomega", "79")
} else if (tSelectedVal==60) {
SelLst_Add( Selmeny2, "Monitorer", "81")
SelLst_Add( Selmeny2, "Plasma", "82")
SelLst_Add( Selmeny2, "TFT", "83")
} else if (tSelectedVal==61) {
SelLst_Add( Selmeny2, "Bredband", "84")
SelLst_Add( Selmeny2, "ISDN", "85")
SelLst_Add( Selmeny2, "Modem", "86")
SelLst_Add( Selmeny2, "Tillbehör", "87")
}
}
function SelLst_Add(oObj, tText,tValue) {
var opt = document.createElement("OPTION")
oObj.options.add(opt);
opt.innerText = tText;
opt.value = tValue;
}
function SelLst_Clear(oObj) {
while( oObj.options.length>0) {
oObj.options[0] = null;
}
oObj.selectedIndex = -1;
}
</script>
\<select size="1" name="Section" onchange="sektion_OnChange(this.options\[this.selectedIndex\].value)" class="search"\>
\<option selected value="0"\>Sektioner\</option\>
\<option value="0"\>------------------------\</option\>
\<option value="59"\>Backup\</option\>
\<option value="60"\>Bildskärmar\</option\>
\<option value="61"\>Bredband & Modem\</option\>
\</select\>
\<select size="1" name="Category" class="search"\>
\</select\>
fundrusseMedlem sedan jan. 2002286 inlägg
oj.. såg att det stog onchange="se"k"tion_OnChange.. men det rättade jag till.. funkar ej ändå
Peter SMedlem sedan dec. 20025 484 inlägg
Jag tog mig friheten att skriva om din kod lite grand ;)
<script type="text/javascript">
<!--
function sektion_OnChange(v){
var Selmeny2 = document.forms[0].Category;
SelLst_Clear(Selmeny2);
switch(v){
case "0":
SelLst_Add(Selmeny2, "Välj Sektion", 0);
break;
case "59":
SelLst_Add(Selmeny2, "DAT", 78)
SelLst_Add(Selmeny2, "Iomega", 79)
break;
case "60":
SelLst_Add(Selmeny2, "Monitorer", 81)
SelLst_Add(Selmeny2, "Plasma", 82)
SelLst_Add(Selmeny2, "TFT", 83)
break;
case "61":
SelLst_Add(Selmeny2, "Bredband", 84)
SelLst_Add(Selmeny2, "ISDN", 85)
SelLst_Add(Selmeny2, "Modem", 86)
SelLst_Add(Selmeny2, "Tillbehör", 87)
break;
default:
alert("FEL!");
}
};
function SelLst_Add(o, s, v){
var option = document.createElement("option");
option.appendChild(document.createTextNode(s));
option.value = v;
o.appendChild(option);
};
function SelLst_Clear(o){
for(var i=0; i<o.options.length; i++)
o.removeChild(o.options[i]);
};
//-->
</script>
:)
fundrusseMedlem sedan jan. 2002286 inlägg
Får inte det att funka d heller
Peter SMedlem sedan dec. 20025 484 inlägg
Nu skall det fungera.
function SelLst_Clear(o){
var i = o.options.length-1;
while(o.options.length>0){
o.removeChild(o.options[i]);
i--;
}
};
:)
fundrusseMedlem sedan jan. 2002286 inlägg
Nae det går ingen vidare asså
--------------------------------------
<html>
<head>
<script type="text/javascript">
<!--
function section_OnChange(v){
var Selmeny2 = document.forms[0].Category;
SelLst_Clear(Selmeny2);
switch(v){
case "0":
SelLst_Add(Selmeny2, "Välj Sektion", 0);
break;
case "59":
SelLst_Add(Selmeny2, "DAT", 78)
SelLst_Add(Selmeny2, "Iomega", 79)
break;
case "60":
SelLst_Add(Selmeny2, "Monitorer", 81)
SelLst_Add(Selmeny2, "Plasma", 82)
SelLst_Add(Selmeny2, "TFT", 83)
break;
case "61":
SelLst_Add(Selmeny2, "Bredband", 84)
SelLst_Add(Selmeny2, "ISDN", 85)
SelLst_Add(Selmeny2, "Modem", 86)
SelLst_Add(Selmeny2, "Tillbehör", 87)
break;
default:
alert("FEL!");
}
};
function SelLst_Add(o, s, v){
var option = document.createElement("option");
option.appendChild(document.createTextNode(s));
option.value = v;
o.appendChild(option);
};
function SelLst_Clear(o){
var i = o.options.length-1;
while(o.options.length\>0){
o.removeChild(o.options*);
i--;
}
};
//-->
</script>
</head>
<body>
<select size="1" name="Section" onchange="section_OnChange(this.options[this.selectedIndex].value)" class="search">
<option selected value="0">Sektioner</option>
<option value="0">------------------------</option>
<option value="59">Backup</option>
<option value="60">Bildskärmar</option>
<option value="61">Bredband & Modem</option>
</select>
<select size="1" name="Category" class="search">
</select>
</body>
</html>*
Peter SMedlem sedan dec. 20025 484 inlägg
Du måste lägga alla <select> i en <form>:
[B]<form>[/B]
<select size="1" name="Section" onchange="section_OnChange(this.options[this.selectedIndex].value)" class="search">
<option selected value="0">Sektioner</option>
<option value="0">------------------------</option>
<option value="59">Backup</option>
<option value="60">Bildskärmar</option>
<option value="61">Bredband & Modem</option>
</select>
<select size="1" name="Category" class="search">
</select>
[B]</form>[/B]
:)
fundrusseMedlem sedan jan. 2002286 inlägg
Aja det vet jag väl! *host*
hehe tackar ;)
fundrusseMedlem sedan jan. 2002286 inlägg
Hmm tänkte på det.
Om man vill att ett värde skall ha "selected" hur gör man då.
För jag loopar ut scriptet!
Peter SMedlem sedan dec. 20025 484 inlägg
Du skulle kunna göra så här:
.
.
.
case "60":
SelLst_Add(Selmeny2, "Monitorer", 81)
SelLst_Add(Selmeny2, "Plasma", 82, [B]true[/B])
SelLst_Add(Selmeny2, "TFT", 83)
break;
.
.
.
function SelLst_Add(o, s, v, b){
var option = document.createElement("option");
option.appendChild(document.createTextNode(s));
option.value = v;
if(b) option.selected = true;
o.appendChild(option);
};
Lägg till true som det sista argumentet när du anropar funktionen "SelLst_Add", för det värde du vill skall vara "selected" (i det här fallet "Plasma").
:)
fundrusseMedlem sedan jan. 2002286 inlägg
Får du verkligen det att funka?..
Inte jag
fundrusseMedlem sedan jan. 2002286 inlägg
Du... båda select boxarna skall vara selectade
Dvs Section = Bildskärmar & Category = Plasma
Peter SMedlem sedan dec. 20025 484 inlägg
Om du väljer "Bildskärmar" så blir ju både den och "Plasma" valda. Det är dessa två som "syns" i selectboxarna.
:)
fundrusseMedlem sedan jan. 2002286 inlägg
Aha du tänker så...
Jag tänkte att rätt section och kategori skall vara selectade när man laddar sidan.. så att båda boxarna är ifyllda när man öppnar sidan
Peter SMedlem sedan dec. 20025 484 inlägg
Lägg den metod som motsvarar det element för vilket du har satt till "selected" innanför <script> enligt följande:
window.onload = function(){
.....
};
Om du t.ex. har satt "Sektioner" till att vara vald, så skulle du kunna göra så här:
window.onload = function(){
SelLst_Add(document.forms[0].Category, "Välj Sektion", 0);
};
:)
CoreXMedlem sedan sep. 2001114 inlägg
Ja jävlar.. nu funkar det som jag vill här..
Bockar & bugar