webForumDet fria alternativet

Flytta upp och ned?...?...

2 svar · 350 visningar · startad av SilvioF

SilvioFMedlem sedan juni 2000547 inlägg
#1

Är det någon som kan hjälpa mig med ett problewm som jag har?

Jag har två <select>-fält som innehåller användarnamn, nu vill jag kunna markera ett namn i ett av fälen och trycka på en knapp så att det flyttas upp eller ned till det andra fältet. Detta skall användas för att t.ex ändra en användares rättigheter.

bohlinMedlem sedan mars 2000263 inlägg
#2

anropas:
<input type="button" onClick="move_selected(document.form.första, document.form.andra);" value="flytta till andra">

<select name="första">
...
</select>

<select name="andra">
...
</select>

<script language="javascript">
	var unknown_emails = "";
	function move_selected(select1, select2) {
		var selected = select1.selectedIndex;

		if (select1.selectedIndex == -1)
		{
			alert("Du måste välj någon först");
			return;
		}

		//loopa å kolla om den redan finns...
		var ex = false;
		for (var i = 0; i < select2.options.length; i++) 
		{
			if (select2.options[i].value == select1.options[select1.selectedIndex].value)
				ex = true;
		}

		if (!ex) //om den inte fanns - flytta
		{
			//göra ny i den andra select-boxen
			add_item(select2, select1.options[select1.selectedIndex].text, select1.options[select1.selectedIndex].value);

			//ta bort från första
			remove_item(select1, select1.selectedIndex);
		}
		
		//markera select1
		if (selected == select1.options.length) //man valde den sista
			select1.selectedIndex = select1.options.length-1;
		else
			select1.selectedIndex = selected;
	}

	function remove_item(select, index)
	{
		select.options[index] = null;
	}

	function add_item(select, textaaa, valueaaa)
	{
		new_option = new Option(textaaa, valueaaa);
		select.options[select.options.length] =  new_option;
		return;
	}

</script>

------------------
/bohlin

tohaMedlem sedan dec. 1999707 inlägg
#3

Jag skulle nog göra såhär istället:

======================================


<select name="första" onDblClick="moveSelect(this, andra);">
...
</select>

<select name="andra" onDblClick="moveSelect(this, första);">
...
</select>

======================================

<script lanaguage="javascript">

function moveSelect(oSource, oTarget) {

if (oSource.selectedIndex == -1) return;

for (var i=0; i<oSource.options.length; i++) {
    if (oSource.options[i].selected == true) {
        oTarget.options[oTarget.options.length] = new Option(oSource.options[i].text, oSource.options[i].value);
        oSource.options[i] = null;
        i--;
    }
}

}

------------------
/ Torbjörn Hansson, webbutvecklare/gränssnittsprogrammerare
Spetsdata AB

[Redigerat av toha den 27 jun 2000]

255 ms totalt · 3 externa anrop · v20260731065814-full.30151723
131 ms — hämta forumlista (db)
122 ms — hämta statistik (db)
131 ms — hämta tråd, inlägg och bilagor (db)