webForumDet fria alternativet

Alla värden i select ruta?

ASP

7 svar · 736 visningar · startad av Calippo

Medlem sedan aug. 2002536 inlägg
Frågan#1

Hur ska man skriva asp-koden för att få med alla värden (option) i en select ruta oavsett om de är markerade eller inte?

Resultatet vill jag ha kommaseparerat: 1,2,3 eller Ett, Två, Tre

<form method="post" name="form1">
<select name="lista" multiple="multiple">
<option value="1">Ett</option>
<option value="2">Två</option>
<option value="3">Tre</option>
</select>
<input type="submit" value="SKICKA" />
</form>

Medlem sedan juni 20019 519 inlägg
#2

<%=request.form("lista")%> så kommer du få 1,2,3 från din lista:

<form method="post" name="form1" action="sammasida.asp">
<select name="lista" multiple="multiple">
<option value="1">Ett</option>
<option value="2">Två</option>
<option value="3">Tre</option>
</select>
<input type="submit" value="SKICKA" />
</form>
<%=Request.Form("lista")%>

för att testa.

Medlem sedan aug. 2002536 inlägg
#3

Det har jag redan provat, men för att få det resultatet så måste jag markera alla i listan... vilket jag inte vill.

Medlem sedan juni 200032 967 inlägg
#4

Antingen får du köra ett javascript som markerar allt före submit, eller enklast: lägg ett hidden-fält där du lägger alla värden kommaseparerade.

Medlem sedan aug. 2002536 inlägg
#5

Vad ska jag ersätta // SKRIPT SOM MARKERAR ALLT med?

<html>
<head>
<script>
function selectAll()
{
	
	// SKRIPT SOM MARKERAR ALLT
	
	document.forms.form1.submit();
}
</script>
</head>
<body>
<form method="post" name="form1" action="index.asp">
<select name="lista" multiple="multiple">
<option value="1">Ett</option>
<option value="2">Två</option>
<option value="3">Tre</option>
</select>
<input type="button" onclick="selectAll();" value="SKICKA" />
</form>
<%=Request.Form("lista")%>
</body>
</html>
Medlem sedan aug. 2002536 inlägg
#6

Ska försöka fila vidare på den här:

<HTML>
<HEAD>
<TITLE>Accessories List</TITLE>
<SCRIPT LANGUAGE="JavaScript">
function selectAll(form) {
    var result1 = ""
    var result2 = ""
    var result3 = ""
	
    for (var i = 0; i < form.lista.length; i++) {
//      if (form.accList.options[i].selected)
//		{
            result1 += "\n  " + form.lista.options[i].value;
            result2 += "\n  " + form.lista.options[i].text;	
            result3 += ",  " + form.lista.options[i].value;		
//      }
    }
    alert("You have selected:" + result1);
    alert("You have selected:" + result2);
    alert("You have selected:" + result3);	
}
</SCRIPT>
</HEAD>
<BODY>
<FORM>
<select name="lista" multiple="multiple">
<option value="1">Ett</option>
<option value="2">Två</option>
<option value="3">Tre</option>
</select> </P>
<input type="button" onclick="selectAll(this.form)" value="SKICKA" />

</FORM>
</BODY>
</HTML>
Medlem sedan juni 20019 519 inlägg
#7
function selectAll(selectBox,selectAll) {
	// have we been passed an ID
	if (typeof selectBox == "string") {
		selectBox = document.getElementById(selectBox);
	}
	// is the select box a multiple select box?
	if (selectBox.type == "select-multiple") {
		for (var i = 0; i < selectBox.options.length; i++) {
			selectBox.options[i].selected = selectAll;
		}
	}
}

och onclick:

<FORM>
<select name="lista" multiple="multiple" id="lista">
<option value="1">Ett</option>
<option value="2">Två</option>
<option value="3">Tre</option>
</select> </P>
<input type="button" onclick="selectAll('lista',true)" value="SKICKA" />

Men frågan är varför har du en selectbox i huvudtaget om användaren inte kan göra sitt val ändå? du kan ju loopa ut resultatet ifrån din asp skript i en <input hidden> som @nders skriver.

Medlem sedan aug. 2002536 inlägg
#8

Sent svar, glömde av den här tråden helt och hållet.
Orsaken var att den från början är tom och man lägger till värden i den från en annan lista, därför ville jag ha med de tillagda värdena i en submit.
Ursäkta att jag dröjde...

254 ms totalt · 3 externa anrop · v20260731065814-full.aa8cfc83
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)