Avatar billede ameq Nybegynder
25. august 2003 - 10:37 Der er 5 kommentarer og
1 løsning

Hjælp til javascript array

Jeg har fundet/fået det er script
Mit program er at hvis jeg får lavet over 9 så bliver nr 10 f. eks. til nr 0s data... så har jeg prøvet at sætte nr 0 til at være 000 og nr 1 til at være 001 osv. og nr 10 til at være 010 men så bliver nr 9 og nr 8 ikke vist...

Jeg fatter det slet ikke =( piv piv...
så ville jeg høre om der var en som kunne hjælp/lære mig lidt om array i javascript så jeg kan få løst mit problem!

<!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] = "Albatros"; //Overskrift
  valg[0][1] = "Albatros1"; //Tekstfelt 1
  valg[0][2] = "Albatros2"; //Tekstfelt 2
  valg[0][3] = "Albatros3"; //Tekstfelt 3
valg[1] = new Array();
  valg[1][0] = "Anders"; //Overskrift
  valg[1][1] = "Anders1"; //Tekstfelt 1
  valg[1][2] = "Anders2"; //Tekstfelt 2
  valg[1][3] = ""; //Tekstfelt 3 (tomt)
valg[2] = new Array();
  valg[2][0] = "And";
  valg[2][1] = "And1";
  valg[2][2] = "And2";
  valg[2][3] = "And3";
valg[3] = new Array();
  valg[3][0] = "Asger";
  valg[3][1] = "Asger1";
  valg[3][2] = "Asger2";
  valg[3][3] = "Bla bla bla";
valg[4] = new Array();
  valg[4][0] = "Bi";
  valg[4][1] = "Bi1";
  valg[4][2] = "Bi2";
  valg[4][3] = "";
valg[5] = new Array();
  valg[5][0] = "Blomst";
  valg[5][1] = "Blomst1";
  valg[5][2] = "Blomst2";
  valg[5][3] = "";
valg[6] = new Array();
  valg[6][0] = "Bølle";
  valg[6][1] = "Bølle1";
  valg[6][2] = "Bølle2";
  valg[6][3] = "Bølle3";

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) {
  val = sel.options[sel.selectedIndex].value;
  nr = parseInt(val.charAt(val.length - 1));
  f = sel.form;
  f.felt1.value = valg[nr][1];
  f.felt2.value = valg[nr][2];
  f.felt3.value = valg[nr][3];
}
</script>
</head>
<body onLoad="document.frm.sFelt.focus();">
<h2>Dynamisk select-boks</h2>
<form name="frm">
<table cellspacing="10">
<tr>
<td>
<input type="text" name="sFelt" onKeyUp="opdater(this);" style="width: 150px;" /><br />
<select multiple="multiple" size="8" 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" readonly="readonly" name="felt1" /><br />
<input type="text" readonly="readonly" name="felt2" /><br />
<input type="text" readonly="readonly" name="felt3" />
</td>
</tr>
</table>
</form>
</body>
</html>
Avatar billede ameq Nybegynder
25. august 2003 - 11:17 #1
har fundet min fejl
function skiftTekst(sel) {
  val = sel.options[sel.selectedIndex].value;
  nr = parseInt(val.charAt(val.length - 1));
  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];

}

parseInt(val.charAt(val.length - 1)) skal være noget andet... ved bare ikke hvad =)
Avatar billede roenving Novice
25. august 2003 - 12:13 #2
8 og 9 bliver ikke vist, da tal, som starter med er 0 fortolkes som hører de til oktal-systemet ...

Prøv at forsimple, for det ser ud til at din værdi altid er lig med selectedIndex:
  nr = sel.selectedIndex;
Avatar billede ameq Nybegynder
25. august 2003 - 19:50 #3
http://www.eksperten.dk/spm/392146 <. det er fartisk det samme
Avatar billede ameq Nybegynder
03. september 2003 - 14:59 #4
svar eller skal jeg bare taget det?
Avatar billede roenving Novice
03. september 2003 - 15:05 #5
-- du fik jo et svar i det andet spørgsmål !-)
Avatar billede ameq Nybegynder
03. september 2003 - 15:08 #6
okey takker for hjælpen =)
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