---
title: "Strul med Select"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/64171-strul-med-select"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "fundrusse"
published: "2003-01-08T18:57:39.000Z"
updated: "2003-01-09T11:49:02.000Z"
replies: 15
views: 271
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/64171-strul-med-select"
---

# Strul med Select

## #1 — fundrusse, 2003-01-08T18:57Z

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\>

Permalänk: https://www.webforum.nu/p/64171

## #2 — fundrusse, 2003-01-08T18:58Z

oj.. såg att det stog onchange="se"k"tion_OnChange.. men det rättade jag till.. funkar ej ändå

Permalänk: https://www.webforum.nu/p/907786

## #3 — Peter S, 2003-01-08T19:31Z

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>
```

 :)

Permalänk: https://www.webforum.nu/p/907805

## #4 — fundrusse, 2003-01-08T19:43Z

Får inte det att funka d heller

Permalänk: https://www.webforum.nu/p/907812

## #5 — Peter S, 2003-01-08T19:46Z

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--;
	}
};
```

 :)

Permalänk: https://www.webforum.nu/p/907815

## #6 — fundrusse, 2003-01-09T01:13Z

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\>*

Permalänk: https://www.webforum.nu/p/908041

## #7 — Peter S, 2003-01-09T09:15Z

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]
```

 :)

Permalänk: https://www.webforum.nu/p/908136

## #8 — fundrusse, 2003-01-09T09:44Z

Aja det vet jag väl! \*host\*
hehe tackar ;)

Permalänk: https://www.webforum.nu/p/908157

## #9 — fundrusse, 2003-01-09T09:56Z

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!

Permalänk: https://www.webforum.nu/p/908166

## #10 — Peter S, 2003-01-09T10:07Z

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").

:)

Permalänk: https://www.webforum.nu/p/908173

## #11 — fundrusse, 2003-01-09T10:26Z

Får du verkligen det att funka?..
Inte jag

Permalänk: https://www.webforum.nu/p/908189

## #12 — fundrusse, 2003-01-09T10:35Z

Du... båda select boxarna skall vara selectade
Dvs Section = Bildskärmar & Category = Plasma

Permalänk: https://www.webforum.nu/p/908194

## #13 — Peter S, 2003-01-09T11:00Z

Om du väljer "Bildskärmar" så blir ju både den och "Plasma" valda. Det är dessa två som "syns" i selectboxarna.

 :)

Permalänk: https://www.webforum.nu/p/908222

## #14 — fundrusse, 2003-01-09T11:02Z

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

Permalänk: https://www.webforum.nu/p/908224

## #15 — Peter S, 2003-01-09T11:27Z

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);
};
```

 :)

Permalänk: https://www.webforum.nu/p/908252

## #16 — CoreX, 2003-01-09T11:49Z

Ja jävlar.. nu funkar det som jag vill här..
Bockar & bugar

Permalänk: https://www.webforum.nu/p/908267

---

Tråden på webben: https://www.webforum.nu/amne/javascript/64171-strul-med-select
