---
title: "Två fält"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/79595-två-fält"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "skarbratt"
published: "2003-06-12T19:02:55.000Z"
updated: "2003-06-13T10:54:18.000Z"
replies: 6
views: 350
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/79595-två-fält"
---

# Två fält

## #1 — skarbratt, 2003-06-12T19:02Z

Hittar inget exempel, men hur fixar man så att man har två selectlistor brevidvaranda och emellan två knappar med "lägg till" och "ta bort".

Hänger ni med... Dvs jag har X antal namn som antingen skall finnas i den ena eller i den andra select listan.

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

## #2 — @nders, 2003-06-12T19:11Z

[läs och begrunda](http://www.webforum.nu/showthread.php?s=&postid=107138)

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

## #3 — skarbratt, 2003-06-12T19:14Z

typ som överst påden här sidan: <http://www.mattkruse.com/javascript/selectbox/index.html>
MEn jag vill kunna skicka med värdena och fixa till den med lite ASP

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

## #4 — skarbratt, 2003-06-12T19:19Z

Såg den tråden, men då Java Script kunskaperna är minimala saknar jag den vanliga HTML koden för att få det att funger för mig..

DVS hur ser HTML-koden ut?

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

## #5 — solbulle, 2003-06-12T19:31Z

Hm... tycker nog Peter S hade en hyfsad kod, med formulär o allt: <http://www.webforum.nu/showthread.php?s=&postid=607316#post607316>

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

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;
			sel.elements[s=="n1"?"n2":"n1"].options[sel.elements[s=="n1"?"n2":"n1"].options.length] = new Option(opt[i].text);
		}
	}
	j=t.length;
	while(j-->0){
		opt[k++] = new Option(t[j].text);
	}
	if(b) opt.length = opt.length-1;
};

//-->
</script>

...

<form onsubmit="return false" name="f">
<div style="float:left">
	<select size="12" name="n1">
		<option>Kol_1_1</option>
		<option>Kol_1_2</option>
		<option>Kol_1_3</option>
		<option>Kol_1_4</option>
		<option>Kol_1_5</option>
		<option>Kol_1_6</option>
	</select>
</div>

<div style="float:left;width:70px">
	<div style="position:relative;top:60px;text-align:center">
		<button onclick="move('n1')">--&gt;</button><br>
		<button onclick="move('n2')">&lt;--</button>
	</div>
</div>

<div>
	<select size="12" name="n2">
		<option>Kol_2_1</option>
		<option>Kol_2_2</option>
		<option>Kol_2_3</option>
		<option>Kol_2_4</option>
		<option>Kol_2_5</option>
		<option>Kol_2_6</option>
	</select>
</div>
</form>
```

sen får du väl läsa dig fram i tråden, det förefaller som om bitarna löses efter hand där.

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

## #6 — skarbratt, 2003-06-13T08:46Z

Mm, ja man kan ju inte se allt. \*tack\*

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

## #7 — skarbratt, 2003-06-13T10:54Z

```
<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){
	var f=o.elements["n2"].options, j=f.length;
	while(j-->0) f[j].selected = true;
};

//-->
</script>

...

<form action="t.asp" method="get" name="f" onSubmit="selectAll(this)"> 

<div style="float:left">
	<select size="12" name="n1">
		<option>Kol_1_1</option>
		<option>Kol_1_2</option>
		<option>Kol_1_3</option>
		<option>Kol_1_4</option>
		<option>Kol_1_5</option>
		<option>Kol_1_6</option>
	</select>
</div>

<div style="float:left;width:70px">
	<div style="position:relative;top:60px;text-align:center">
		<button onclick="move('n1')">--&gt;</button><br>
		<button onclick="move('n2')">&lt;--</button>
	</div>
</div>

<div>
	<select size="12" name="n2" multiple="true">
		<option>Kol_2_1</option>
		<option>Kol_2_2</option>
		<option>Kol_2_3</option>
		<option>Kol_2_4</option>
		<option>Kol_2_5</option>
		<option>Kol_2_6</option>
	</select>
</div>
<INPUT TYPE="submit" VALUE="Skicka">
</form>
```

 

Koden ovan fungerar bra sälänge man inte flyttar värdena fram och tillbaka,gör man det så skickas bara toma värden vidare när man klickar påsubmit

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

---

Tråden på webben: https://www.webforum.nu/amne/javascript/79595-två-fält
