Avatar billede java_frank Nybegynder
22. oktober 2004 - 12:59 Der er 9 kommentarer

Gennemløb af checkboxe

Hejsa
Jeg har x antal <INPUT type="checkbox" id="" name="">
id og navn skaber jeg dynamisk udfra noget data i en DB
og x er bestemt udfra antallet af records i DB'en

Mit problem er så at jeg skal læse hvilke bruger har krydset af
Jeg skulle gerne kunne løbe alle checkbox'ene i en for-løkke eller while-løkke

Jeg har det omvendte problem når jeg "tegner" siden henter jeg data i DB og sætter de checkbox de valgte sidst de var forbi.

man kan nærmest sige at alle checkbox er i et matrix:
nogle farver ud af x-aksen : Rød Orange Gul Blå Grøn
og produkter op-af y-aksen
så hvert produkt har 0-5 farver valgt

Håber der er nogen der har en go ide

/Frank
Avatar billede fennec Nybegynder
22. oktober 2004 - 13:06 #1
Ved at kalde dem det samme navn kan du få en liste i ASP, af dem der er valgt. De skal så have en unig value i stedet.

<INPUT type="checkbox" id="" name="enCheckBox" value="1">
<INPUT type="checkbox" id="" name="enCheckBox" value="2">
<INPUT type="checkbox" id="" name="enCheckBox" value="3">

I ASP:
for each tmpValue in request.form("enCheckBox")
  response.write tmpValue
next

Bemærk du får kun en liste af dem er er valgt.
Avatar billede fennec Nybegynder
22. oktober 2004 - 13:10 #2
Du kan evt lave 5 checkbox grupper, med tilhørerende løkker i ASP. Det kommer an på hvordan du skal bruge informationerne (rækkefølge) i ASP bagefter.

<INPUT type="checkbox" id="" name="enCheckBox1" value="ProduktID1">
<INPUT type="checkbox" id="" name="enCheckBox2" value="ProduktID1">
<INPUT type="checkbox" id="" name="enCheckBox3" value="ProduktID1">
<INPUT type="checkbox" id="" name="enCheckBox4" value="ProduktID1">
<INPUT type="checkbox" id="" name="enCheckBox5" value="ProduktID1"><br>
<INPUT type="checkbox" id="" name="enCheckBox1" value="ProduktID2">
<INPUT type="checkbox" id="" name="enCheckBox2" value="ProduktID2">
<INPUT type="checkbox" id="" name="enCheckBox3" value="ProduktID2">
<INPUT type="checkbox" id="" name="enCheckBox4" value="ProduktID2">
<INPUT type="checkbox" id="" name="enCheckBox5" value="ProduktID2">
Avatar billede java_frank Nybegynder
22. oktober 2004 - 13:18 #3
Jeg tror faktisk at din første løsning vil kunne du'
Hvis nu at value vil være en sammensætning af x_y værdierne
denne value kan jeg så splitte op og ligge i DB'en
Avatar billede fennec Nybegynder
22. oktober 2004 - 13:33 #4
Jeps.
Du ville bare måske kunne undgå at skulle splitte den op, hvis du gjorde det på checkbox niveau, men som sagt, kommer det an på, hvordan man helst vil behandle informationerne bagefter.
Avatar billede java_frank Nybegynder
25. oktober 2004 - 09:15 #5
Det eneste jeg bare lige skal have fundet ud af er hvordan jeg laver for-løkken bedst mulig i Javascript.
Avatar billede fennec Nybegynder
25. oktober 2004 - 09:27 #6
Hvis du vil løbe alle checkbokse i gennem i JavaScript, kan det gøres sådan:

function checkAll()
{
  for(f=0;f<document.DinForm.CheckBoxNavnet.length;f++)
  {
    document.DinForm.CheckBoxNavnet[f].checked = true;
  }
}
Avatar billede java_frank Nybegynder
25. oktober 2004 - 09:37 #7
Jeg havde forstillet mig noget ala dette:
<%@ Language=JavaScript%>
<%
.
.
.
.
for (var intLoop = 0; intLoop < Request.form("chk_vis").Count ; intLoop++)
{tmpValue = Request.form("chk_vis").Key(intLoop)
Response.Write(tmpValue)
}
%>
Men det er ikke rigtigt lavet
Avatar billede fennec Nybegynder
25. oktober 2004 - 09:47 #8
Ok, du bruger JavaScript som ServerSide sprog (ASP). De fleste bruger VBScript. Hvordan man løber Request.form("chk_vis") igennem i JavaScript på serveren, ved jeg ikke helt, hvordan man gør :(
Avatar billede java_frank Nybegynder
25. oktober 2004 - 13:49 #9
Her er løsningen jeg fandt frem til:
for (var intLoop = 1; intLoop <= Request.form("chk_vis").Count ; intLoop++)
{
tmpValue += Request.form("chk_vis")(intLoop)
}
Response.Write(tmpValue)

Det var så et problem mindre
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester