---
title: "Från Listbox -----> Listbox och ...."
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/18768-från-listbox-listbox-och/page2"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "PatrikB"
published: "2000-06-06T07:44:00.000Z"
updated: "2003-04-17T16:33:11.000Z"
replies: 29
views: 1976
page: 2
pages: 2
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/18768-från-listbox-listbox-och"
---

# Från Listbox -----> Listbox och ....

_Sida 2 av 2._

## #21 — -torlejf-, 2003-04-17T11:15Z

EN sak till, hur fanken får jag så att jag med hjälp av en submitknapp skickar iväg all data i det högra fältet?

Jag får det inte att funka på vanligt vis. :(

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

## #22 — Peter S, 2003-04-17T12:07Z

Hoppsan, det var jag som glömde en sak:

```
<script type="text/javascript">
<!--

function sortAndAdd(f,o){
	var t = [], added=false, sel=null;
	for( var i=0, elm; ( elm=f.options[i] ); i++ ){
		if(!added && o.text < elm.text){
			t.push(o);
			sel=i;
			added=true;
		}
		t.push(elm);
	}
	if(!added) t.push(o);
	f.options.length=0;
	for( var i=0, elm; ( elm=t[i] ); i++ )
		f.options[i] = new Option(elm.text,elm.value);
	f.options[typeof(sel)=="number"?sel:f.options.length-1].selected=true;
};

function move(s){
	var
		sel=document.forms["f"],
		opt=sel.elements[s].options,
		i=opt.length,
		t=[],
		j=null,
		k=0,
		b=false;
	while(i-->0){
		switch(opt[i].selected){
		case false:
			t.push(opt[i]);
			break;
		default:
			b=true;
			sortAndAdd(sel.elements[s=="n1"?"n2":"n1"], new Option(opt[i].text,opt[i].value));
		}
	}
	j=t.length;
	while(j-->0) opt[k++] = new Option(t[j].text,t[j].value);
	if(b) opt.length = opt.length-1;
};

//-->
</script>
```

Lagg till en "submit"-knapp och ta bort "onsubmit"-attributet från "form"-elementet så skall det fungera.

 :)

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

## #23 — -torlejf-, 2003-04-17T12:20Z

Jag tackar  så hemskt jättemycket. :)

Tur att det fortfarande finns människor som vill hjälpa andra. :)

Men en sak till. :)

Kan man göra så att dom automatiskt blir markerade i den "andra" listan?

alltså, att ALLA blir det?

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

## #24 — Peter S, 2003-04-17T12:39Z

Då får du lägga till attributet *multiple* i "select"-elementen och sätta dess värde till *true*. Därefter får du lägga till *onsubmit*\-attributet igen och sätta värdet till *selectAll(this)*. Sedan lägger du till följande funktion till de tidigare postade:

```
function selectAll(o){
	outer:
	for( var i=0, elm; ( elm=o.elements[i] ); i++ ){
		if(elm.nodeName == "SELECT"){
			for( var j=0, opt; ( opt=o.elements[i].options[j] ); j++ ){
				if(opt.selected){
					var t=o.elements[o.elements[i].name=="n1"?"n2":"n1"];
					for( var k=0, temp; ( temp=t.options[k] ); k++ )
						temp.selected=true;
					break outer;
				}
			}
		}
	}
};
```

 :)

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

## #25 — -torlejf-, 2003-04-17T12:54Z

Får det inte att fungera.

SELECT ser ut såhär:

\<select size="12" name="n2" CLASS="select" MULTIPLE\>

FORMULÄRET såhär:

\<form action="test.asp" method="post" name="f" onSubmit="selectAll(this)"\>

Och koden såhär:

```
<script type="text/javascript">
<!--

function sortAndAdd(f,o){
	var t = [], added=false, sel=null;
	for( var i=0, elm; ( elm=f.options[i] ); i++ ){
		if(!added && o.text < elm.text){
			t.push(o);
			sel=i;
			added=true;
		}
		t.push(elm);
	}
	if(!added) t.push(o);
	f.options.length=0;
	for( var i=0, elm; ( elm=t[i] ); i++ )
		f.options[i] = new Option(elm.text,elm.value);
	f.options[typeof(sel)=="number"?sel:f.options.length-1].selected=true;
};

function move(s){
	var
		sel=document.forms["f"],
		opt=sel.elements[s].options,
		i=opt.length,
		t=[],
		j=null,
		k=0,
		b=false;
	while(i-->0){
		switch(opt[i].selected){
		case false:
			t.push(opt[i]);
			break;
		default:
			b=true;
			sortAndAdd(sel.elements[s=="n1"?"n2":"n1"], new Option(opt[i].text,opt[i].value));
		}
	}
	j=t.length;
	while(j-->0) opt[k++] = new Option(t[j].text,t[j].value);
	if(b) opt.length = opt.length-1;
};

function selectAll(o){
	outer:
	for( var i=0, elm; ( elm=o.elements[i] ); i++ ){
		if(elm.nodeName == "SELECT"){
			for( var j=0, opt; ( opt=o.elements[i].options[j] ); j++ ){
				if(opt.selected){
					var t=o.elements[o.elements[i].name=="n1"?"n2":"n1"];
					for( var k=0, temp; ( temp=t.options[k] ); k++ )
						temp.selected=true;
					break outer;
				}
			}
		}
	}
};

//-->
</script>
```

Jag vill att ALAL ska bli marekrade i lista 2.

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

## #26 — Peter S, 2003-04-17T12:57Z

Du skulle sätta värdet för *multiple* till **true**  ;) 

 :)

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

## #27 — -torlejf-, 2003-04-17T16:10Z

Jag känner mig lite korkad nu. hehe.

Men vilket multiple ska sättas till true?

Det räcker ju att skriva MULTIPLE för att den funktionen ska funka, alltså att man kan markera alla med hjälp av o klicka på dom.

Jag vill ju att det ska skötas automatiskt.
Tacksam för all hjälp du ger mig.

/ David

EDIT: Funktionen funkar som jag vill att det ska om jag först flyttar dom jag vill ha i lista två, o sen markerar ett val i lista ett o sen klickar på submit knappen.

DÅ skivkas alal värden i lista två med.

Men inte annars. Inte så lätt för användaren att lista ut det. hehe.

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

## #28 — Peter S, 2003-04-17T16:28Z

Ok, så hela den andra listan skall skickas oavsett? Du byter du ut funktionen *selectAll* mot:

```
function selectAll(o){
	var f=o.elements["n2"].options, j=f.length;
	while(j-->0) f[j].selected = true;
};
```

Angående *multiple*; ja, det fungerar att skriva endast det, men det korrekta sättet är att även skriva ett värde för attributet.

 :)

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

## #29 — -torlejf-, 2003-04-17T16:32Z

PRECIS så. :))

Tack så hemskt mycket. :)

Ha en fortsatt trevlig kväll och Glad påsk! 

/ David

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

## #30 — Peter S, 2003-04-17T16:33Z

Tack detsamma!  :bire 

 :)

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

---

Tråden på webben: https://www.webforum.nu/amne/javascript/18768-från-listbox-listbox-och/page2  
Föregående sida: https://www.webforum.nu/amne/javascript/18768-från-listbox-listbox-och.md
