Avatar billede ameq Nybegynder
26. august 2003 - 13:30 Der er 16 kommentarer og
1 løsning

Søg i list menu

Hej jeg har det her script...

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Dynamisk select-boks</title>

<script type="text/javascript">
valg = new Array();

valg[0] = new Array();
  valg[0][0] = "array 0"; //Overskrift : Søg
  valg[0][1] = "array 0 freetext1"; //Tekstfelt 1 : Navn
  valg[0][2] = "array 0 freetext2"; //Tekstfelt 2 : Firma
  valg[0][3] = "array 0 freetext3"; //Tekstfelt 3 : Tlf
  valg[0][4] = "array 0 freetext4"; //Tekstfelt 4 : E-Mail
valg[1] = new Array();
  valg[1][0] = "array 1";
  valg[1][1] = "array 1 freetext1"; //Overskrift
  valg[1][2] = "array 1 freetext2"; //Tekstfelt 1
  valg[1][3] = "array 1 freetext3"; //Tekstfelt 2
  valg[1][4] = "array 1 freetext4"; //Tekstfelt 3 (tomt)
valg[2] = new Array();
  valg[2][0] = "array 2"
  valg[2][1] = "array 2 freetext1";
  valg[2][2] = "array 2 freetext2";
  valg[2][3] = "array 2 freetext3";
  valg[2][4] = "array 2 freetext4";
valg[3] = new Array();
  valg[3][0] = "array 3";
  valg[3][1] = "array 3 freetext1";
  valg[3][2] = "array 3 freetext2";
  valg[3][3] = "array 3 freetext3";
  valg[3][4] = "array 3 freetext4";
valg[4] = new Array();
  valg[4][0] = "array 4";
  valg[4][1] = "array 4 freetext1";
  valg[4][2] = "array 4 freetext2";
  valg[4][3] = "array 4 freetext3";
  valg[4][4] = "array 4 freetext4";
valg[5] = new Array();
  valg[5][0] = "array 5";
  valg[5][1] = "array 5 freetext1";
  valg[5][2] = "array 5 freetext2";
  valg[5][3] = "array 5 freetext3";
  valg[5][4] = "array 5 freetext4";
valg[6] = new Array();
  valg[6][0] = "array 6";
  valg[6][1] = "array 6 freetext1";
  valg[6][2] = "array 6 freetext2";
  valg[6][3] = "array 6 freetext3";
  valg[6][4] = "array 6 freetext4";
valg[7] = new Array();
  valg[7][0] = "array 7";
  valg[7][1] = "array 7 freetext1";
  valg[7][2] = "array 7 freetext2";
  valg[7][3] = "array 7 freetext3";
  valg[7][4] = "array 7 freetext4";
valg[8] = new Array();
  valg[8][0] = "array 8";
  valg[8][1] = "array 8 freetext1";
  valg[8][2] = "array 8 freetext2";
  valg[8][3] = "array 8 freetext3";
  valg[8][4] = "array 8 freetext4";
valg[9] = new Array();
  valg[9][0] = "array 9";
  valg[9][1] = "array 9 freetext1";
  valg[9][2] = "array 9 freetext2";
  valg[9][3] = "array 9 freetext3";
  valg[9][4] = "array 9 freetext4";
valg[10] = new Array();
  valg[10][0] = "array 10";
  valg[10][1] = "array 10 freetext1";
  valg[10][2] = "array 10 freetext2";
  valg[10][3] = "array 10 freetext3";
  valg[10][4] = "array 10 freetext4";           
valg[11] = new Array();
  valg[11][0] = "array 11";
  valg[11][1] = "array 11 freetext1";
  valg[11][2] = "array 11 freetext2";
  valg[11][3] = "array 11 freetext3";
  valg[11][4] = "array 11 freetext4"; 
valg[12] = new Array();
  valg[12][0] = "array 12";
  valg[12][1] = "array 12 freetext1";
  valg[12][2] = "array 12 freetext2";
  valg[12][3] = "array 12 freetext3";
  valg[12][4] = "array 12 freetext4"; 

//valg.sort();

function opdater(felt) {
  selOpts = felt.form.sel.options;
  selOpts.length = 0;
  for (i = 0; i < valg.length; i++)
    if (felt.value == "" || valg[i][0].toLowerCase().indexOf(felt.value.toLowerCase()) == 0)
      selOpts[selOpts.length] = new Option(valg[i][0], "valg" + i);
}

function skiftTekst(sel) {
  nr = sel.selectedIndex;
  f = sel.form;
  f.felt1.value = valg[nr][1];
  f.felt2.value = valg[nr][2];
  f.felt3.value = valg[nr][3];
  f.felt4.value = valg[nr][4];

}
</script>
</head>
<body onLoad="document.frm.sFelt.focus();">
<h2>Dynamisk select-boks</h2>
<form name="frm">
<table cellspacing="10">
<tr>
<td>
Søg : <input type="text" name="sFelt" onKeyUp="opdater(this);" style="width: 150px;" /><br />
<select multiple="multiple" size="12" name="sel" style="width: 150px;" onchange="skiftTekst(this);">
<script type="text/javascript">
for (i = 0; i < valg.length; i++)
  document.write('<option value="valg' + i + '">' + valg[i][0] + '</option>');
</script>
</select><br /><br />
<input type="submit" value="Send" />
</td>
<td style="vertical-align: top;">
<input type="text"  name="felt1" />
<input type="text"  name="felt2" /><br />
<input type="text"  name="felt3" /><br />
<input type="text"  name="felt4" />
</td>
</tr>
</table>
</form>
</body>
</html>

Det viser også findt info hvis du trykker på f. eks. nr 10... men når du så "søger" så bliver nr 10s data forkert...
Hvordan skal jeg lige rette det?
Avatar billede ldanielsen Nybegynder
26. august 2003 - 14:14 #1
function skiftTekst(sel) {
  value = sel.options[sel.selectedIndex].value;
  nr = value.substring(4, value.length);
  alert(nr);
  f = sel.form;
  f.felt1.value = valg[nr][1];
  f.felt2.value = valg[nr][2];
  f.felt3.value = valg[nr][3];
  f.felt4.value = valg[nr][4];

}
Avatar billede ldanielsen Nybegynder
26. august 2003 - 14:16 #2
Oh, slet lige alert(nr);

Forklaringen er, at du vil have nr til at blive 5 hvis value er "valg5", ikke selectedIndex, som kun er rigtigt når boksen er "fuld"
Avatar billede Slettet bruger
26. august 2003 - 15:08 #3
Se det tidligere spørgsmål.
Avatar billede ldanielsen Nybegynder
26. august 2003 - 23:58 #4
hvilket spørgsmål?
Avatar billede ameq Nybegynder
27. august 2003 - 09:02 #5
super nice idanielsen =) tak for det...
Avatar billede Slettet bruger
28. august 2003 - 16:59 #6
Avatar billede ameq Nybegynder
01. september 2003 - 10:46 #7
hey har lige et problem.. ved ikke om jeg skal lave et nyt sprøges mål...
men felt 4 virker ikke rigtig og jeg ville lave et nyt fælt nr 5... men det virker eller ikke
Avatar billede Slettet bruger
02. september 2003 - 20:21 #8
Kan du vise et link?
Avatar billede ameq Nybegynder
03. september 2003 - 08:36 #9
yes men der går lige et par timer =)
Avatar billede ameq Nybegynder
03. september 2003 - 15:17 #10
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Dynamisk select-boks</title>

<script type="text/javascript">
valg = new Array();

valg[0] = new Array();
  valg[0][0] = "array 0"; //Overskrift : Søg
  valg[0][1] = "array 0 freetext1"; //Tekstfelt 1 : Navn
  valg[0][2] = "array 0 freetext2"; //Tekstfelt 2 : Firma
  valg[0][3] = "array 0 freetext3"; //Tekstfelt 3 : Tlf
  valg[0][4] = "array 0 freetext4"; //Tekstfelt 4 : E-Mail
  valg[0][5] = "array 0 freetext5"; //Tekstfelt 4 : Os
valg[1] = new Array();
  valg[1][0] = "array 1";
  valg[1][1] = "array 1 freetext1"; //Overskrift
  valg[1][2] = "array 1 freetext2"; //Tekstfelt 1
  valg[1][3] = "array 1 freetext3"; //Tekstfelt 2
  valg[1][4] = "array 1 freetext4"; //Tekstfelt 3 (tomt)
  valg[1][5] = "array 1 freetext5"; //Tekstfelt 4 : Os
valg[2] = new Array();
  valg[2][0] = "array 2"
  valg[2][1] = "array 2 freetext1";
  valg[2][2] = "array 2 freetext2";
  valg[2][3] = "array 2 freetext3";
  valg[2][4] = "array 2 freetext4";
  valg[2][5] = "array 2 freetext5"; //Tekstfelt 4 : Os
valg[3] = new Array();
  valg[3][0] = "array 3";
  valg[3][1] = "array 3 freetext1";
  valg[3][2] = "array 3 freetext2";
  valg[3][3] = "array 3 freetext3";
  valg[3][4] = "array 3 freetext4";
  valg[3][5] = "array 3 freetext5"; //Tekstfelt 4 : Os
valg[4] = new Array();
  valg[4][0] = "array 4";
  valg[4][1] = "array 4 freetext1";
  valg[4][2] = "array 4 freetext2";
  valg[4][3] = "array 4 freetext3";
  valg[4][4] = "array 4 freetext4";
  valg[4][5] = "array 4 freetext5"; //Tekstfelt 4 : Os
valg[5] = new Array();
  valg[5][0] = "array 5";
  valg[5][1] = "array 5 freetext1";
  valg[5][2] = "array 5 freetext2";
  valg[5][3] = "array 5 freetext3";
  valg[5][4] = "array 5 freetext4";
  valg[5][5] = "array 5 freetext5"; //Tekstfelt 4 : Os
valg[6] = new Array();
  valg[6][0] = "array 6";
  valg[6][1] = "array 6 freetext1";
  valg[6][2] = "array 6 freetext2";
  valg[6][3] = "array 6 freetext3";
  valg[6][4] = "array 6 freetext4";
  valg[6][5] = "array 6 freetext5"; //Tekstfelt 4 : Os
valg[7] = new Array();
  valg[7][0] = "array 7";
  valg[7][1] = "array 7 freetext1";
  valg[7][2] = "array 7 freetext2";
  valg[7][3] = "array 7 freetext3";
  valg[7][4] = "array 7 freetext4";
  valg[7][5] = "array 7 freetext5"; //Tekstfelt 4 : Os
valg[8] = new Array();
  valg[8][0] = "array 8";
  valg[8][1] = "array 8 freetext1";
  valg[8][2] = "array 8 freetext2";
  valg[8][3] = "array 8 freetext3";
  valg[8][4] = "array 8 freetext4";
  valg[8][5] = "array 8 freetext5"; //Tekstfelt 4 : Os
valg[9] = new Array();
  valg[9][0] = "array 9";
  valg[9][1] = "array 9 freetext1";
  valg[9][2] = "array 9 freetext2";
  valg[9][3] = "array 9 freetext3";
  valg[9][4] = "array 9 freetext4";
  valg[9][5] = "array 9 freetext5"; //Tekstfelt 4 : Os
valg[10] = new Array();
  valg[10][0] = "array 10";
  valg[10][1] = "array 10 freetext1";
  valg[10][2] = "array 10 freetext2";
  valg[10][3] = "array 10 freetext3";
  valg[10][4] = "array 10 freetext4";
  valg[10][5] = "array 10 freetext5"; //Tekstfelt 4 : Os           
valg[11] = new Array();
  valg[11][0] = "array 11";
  valg[11][1] = "array 11 freetext1";
  valg[11][2] = "array 11 freetext2";
  valg[11][3] = "array 11 freetext3";
  valg[11][4] = "array 11 freetext4"; 
  valg[11][5] = "array 11 freetext5"; //Tekstfelt 4 : Os
valg[12] = new Array();
  valg[12][0] = "array 12";
  valg[12][1] = "array 12 freetext1";
  valg[12][2] = "array 12 freetext2";
  valg[12][3] = "array 12 freetext3";
  valg[12][4] = "array 12 freetext4";
  valg[12][5] = "array 12 freetext5"; //Tekstfelt 4 : Os

//valg.sort();

function opdater(felt) {
  selOpts = felt.form.sel.options;
  selOpts.length = 0;
  for (i = 0; i < valg.length; i++)
    if (felt.value == "" || valg[i][0].toLowerCase().indexOf(felt.value.toLowerCase()) == 0)
      selOpts[selOpts.length] = new Option(valg[i][0], "valg" + i);
}

function skiftTekst(sel) {
  value = sel.options[sel.selectedIndex].value;
  nr = value.substring(4, value.length);
  f = sel.form;
  f.felt1.value = valg[nr][1];
  f.felt2.value = valg[nr][2];
  f.felt3.value = valg[nr][3];
  f.felt4.value = valg[nr][4];
  f.felt5.value = valg[nr][5];

}
</script>
</head>
<body onLoad="document.frm.sFelt.focus();">
<h2>Dynamisk select-boks</h2>
<form name="frm">
<table cellspacing="10">
<tr>
<td>
Søg : <input type="text" name="sFelt" onKeyUp="opdater(this);" style="width: 150px;" /><br />
<select multiple="multiple" size="12" name="sel" style="width: 150px;" onchange="skiftTekst(this);">
<script type="text/javascript">
for (i = 0; i < valg.length; i++)
  document.write('<option value="valg' + i + '">' + valg[i][0] + '</option>');
</script>
</select><br /><br />
<input type="submit" value="Send" />
</td>
<td style="vertical-align: top;">
<input type="text"  name="felt1" />
<input type="text"  name="felt2" /><br />
<input type="text"  name="felt3" /><br />
<input type="text"  name="felt4" /><br />
<input type="text"  name="felt5" />
</td>
</tr>
</table>
</form>
</body>
</html>


Sådan =)
Avatar billede Slettet bruger
05. september 2003 - 15:37 #11
Det var ikke et link. :)

Men det virker nu fint nok på min com.
Avatar billede ameq Nybegynder
05. september 2003 - 15:39 #12
ja ja sorry... =) he he
Avatar billede Slettet bruger
07. september 2003 - 12:12 #13
Dvs. der ikke var nogen fejl alligevel?
Avatar billede ameq Nybegynder
08. september 2003 - 08:37 #14
jo men har rettet med =)
Avatar billede Slettet bruger
08. september 2003 - 21:30 #15
Eh? Jeg forstår ikke, om du stadig har brug for hjælp.
Avatar billede ameq Nybegynder
09. september 2003 - 07:59 #16
nej da.. det sidste script om jeg har skrevet virker...
Avatar billede Slettet bruger
11. september 2003 - 15:03 #17
Ok, jeg troede bare, du bad om mere hjælp i 01/09-2003 10:46:43
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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