login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Array in For lus

Offline stenno - 05/10/2005 16:09 (laatste wijziging 05/10/2005 16:12)
Avatar van stennoPHP interesse Ik heb een tabel waarin ik 3 kolommen heb. Na een klik op de search button moet in de eerste kolom het antwoord komen van waarde kolom 2 maal waarde kolom 3. Ik heb alle names van de input's uit 2 letters gescript.

In kolom 1 beginnen alle names met a. dus kolom 1 rij 1 is name="aa".
kolom 1 rij 2 is name="ab" kolom 2 rij 4 is dus name="bd".

Nu kan ik er met een for lus voor kiezen om 3 apparte Array's te maken. Oftewel voor elke kolom een aparte array !

NU is mijn vraag kan ik niet een Array maken met alleen de laatste letter van elke name. Dus zo: var xx = Array('a','b','c') // enzovoorts.

en dan de verwijzing een beetje aanpassen.

ik zal ff een voorbeeld script posten:

  1. <html>
  2. <head>
  3. <title>Untitled</title>
  4. <script language="JavaScript" type="text/javascript">
  5. <!--
  6. var aa= Array('a','b','c','d','e','f','g','h','i','j')
  7. var y= aa.length
  8. function a()
  9. {
  10. for(x=0;x<y;x++)
  11. {
  12. document.form1.elements[aa[x]].value= parseFloat(document.form1.elements[aa[x]].value)*parseFloat(document.form1.elements[aa[x]].value)
  13. }
  14. }
  15. //-->
  16. </script>
  17. </head>
  18. <body>
  19. <form name="form1">
  20. <table>
  21. <tr>
  22. <td><input type="text" name="aa" value="" /></td>
  23. <td><input type="text" name="ba" value="1"/></td>
  24. <td><input type="text" name="ca" value="1"/></td>
  25. </tr>
  26. <tr>
  27. <td><input type="text" name="ab" value=""/></td>
  28. <td><input type="text" name="bb" value="2"/></td>
  29. <td><input type="text" name="cb" value="1"/></td>
  30. </tr>
  31. <tr>
  32. <td><input type="text" name="ac" value=""/></td>
  33. <td><input type="text" name="bc" value="3"/></td>
  34. <td><input type="text" name="cc" value="1"/></td>
  35. </tr>
  36. <tr>
  37. <td><input type="text" name="ad" value=""/></td>
  38. <td><input type="text" name="bd" value="4"/></td>
  39. <td><input type="text" name="cd" value="1"/></td>
  40. </tr>
  41. <tr>
  42. <td><input type="text" name="ae" value=""/></td>
  43. <td><input type="text" name="be" value="5"/></td>
  44. <td><input type="text" name="ce" value="1"/></td>
  45. </tr>
  46. <tr>
  47. <td><input type="text" name="af" value=""/></td>
  48. <td><input type="text" name="bf" value="6"/></td>
  49. <td><input type="text" name="cf" value="1"/></td>
  50. </tr>
  51. <tr>
  52. <td><input type="text" name="ag" value=""/></td>
  53. <td><input type="text" name="bg" value="7"/></td>
  54. <td><input type="text" name="cg" value="1"/></td>
  55. </tr>
  56. <tr>
  57. <td><input type="text" name="ah" value=""/></td>
  58. <td><input type="text" name="bh" value="8"/></td>
  59. <td><input type="text" name="ch" value="1"/></td>
  60. </tr>
  61. <tr>
  62. <td><input type="text" name="ai" value=""/></td>
  63. <td><input type="text" name="bi" value="9"/></td>
  64. <td><input type="text" name="ci" value="1"/></td>
  65. </tr>
  66. <tr>
  67. <td><input type="text" name="aj" value=""/></td>
  68. <td><input type="text" name="bj" value="10"/></td>
  69. <td><input type="text" name="cj" value="1"/></td>
  70. </tr>
  71. </table>
  72. <input type="button" value="search" onClick="a()" />
  73. </form>
  74. </body>
  75. </html>


in dit script gaat het dus om het volgende regeltje

  1. document.form1.elements[aa[x]].value= parseFloat(document.form1.elements[aa[x]].value)*parseFloat(document.form1.elements[aa[x]].value)


hoe pas ik dit regeltje zo aan dat er dus uit komt in de eerste kolom het antwoord van kolom 2 maal kolom 3 ???

Graag help !!! (haytjes je zal dit vast wel weten, HOOP IK  ^^ )

8 antwoorden

Gesponsorde links
Offline haytjes - 05/10/2005 16:22 (laatste wijziging 05/10/2005 16:29)
Avatar van haytjes Gouden medailleGouden medaille

JS gevorderde
'k ga ne keer kijken:)

[edit]
bedoel je zo?:
  1. document.form1.elements["a"+aa[x]].value= parseFloat(document.form1.elements["b"+aa[x]].value)*parseFloat(document.form1.elements["c"+aa[x]].value)
Offline stenno - 05/10/2005 16:33 (laatste wijziging 05/10/2005 16:34)
Avatar van stenno PHP interesse haha je bent geweldig man ^^  harstikke bedankt ik had al met allemaal quotes, haakjes en punten zitten rommelen. maar hier was ik nog niet opgekomen.

Weer 'ns bedankt 

Mag gesloten
Offline haytjes - 05/10/2005 16:39 (laatste wijziging 05/10/2005 16:40)
Avatar van haytjes Gouden medailleGouden medaille

JS gevorderde
'k denk da dit nog beter is.
want je hebt nu 3* <input name='a'>
'k kan ook mis zijn
  1. <html>
  2. <head>
  3. <title>Untitled</title>
  4. <script language="JavaScript" type="text/javascript">
  5. <!--
  6. var aa= Array('a','b','c','d','e','f','g','h','i','j')
  7. var y= aa.length
  8. function tel()
  9. {
  10. for(x=0;x<y;x++)
  11. {
  12. oInput = document.form1.elements[aa[x]];
  13. oInput[0].value = parseFloat(oInput[1].value)*parseFloat(oInput[2].value);
  14. }
  15. }
  16. //-->
  17. </script>
  18. </head>
  19. <body>
  20. <form name="form1">
  21. <table>
  22. <tr>
  23. <td><input type="text" name="a" value="" /></td>
  24. <td><input type="text" name="a" value="1"/></td>
  25. <td><input type="text" name="a" value="1"/></td>
  26. </tr>
  27. <tr>
  28. <td><input type="text" name="b" value=""/></td>
  29. <td><input type="text" name="b" value="2"/></td>
  30. <td><input type="text" name="b" value="1"/></td>
  31. </tr>
  32. <tr>
  33. <td><input type="text" name="c" value=""/></td>
  34. <td><input type="text" name="c" value="3"/></td>
  35. <td><input type="text" name="c" value="1"/></td>
  36. </tr>
  37. <tr>
  38. <td><input type="text" name="d" value=""/></td>
  39. <td><input type="text" name="d" value="4"/></td>
  40. <td><input type="text" name="d" value="1"/></td>
  41. </tr>
  42. <tr>
  43. <td><input type="text" name="e" value=""/></td>
  44. <td><input type="text" name="e" value="5"/></td>
  45. <td><input type="text" name="e" value="1"/></td>
  46. </tr>
  47. <tr>
  48. <td><input type="text" name="f" value=""/></td>
  49. <td><input type="text" name="f" value="6"/></td>
  50. <td><input type="text" name="f" value="1"/></td>
  51. </tr>
  52. <tr>
  53. <td><input type="text" name="g" value=""/></td>
  54. <td><input type="text" name="g" value="7"/></td>
  55. <td><input type="text" name="g" value="1"/></td>
  56. </tr>
  57. <tr>
  58. <td><input type="text" name="h" value=""/></td>
  59. <td><input type="text" name="h" value="8"/></td>
  60. <td><input type="text" name="h" value="1"/></td>
  61. </tr>
  62. <tr>
  63. <td><input type="text" name="i" value=""/></td>
  64. <td><input type="text" name="i" value="9"/></td>
  65. <td><input type="text" name="i" value="1"/></td>
  66. </tr>
  67. <tr>
  68. <td><input type="text" name="j" value=""/></td>
  69. <td><input type="text" name="j" value="10"/></td>
  70. <td><input type="text" name="j" value="1"/></td>
  71. </tr>
  72. </table>
  73. <input type="button" value="search" onClick="tel()" />
  74. </form>
  75. </body>
  76. </html>
Offline stenno - 05/10/2005 18:20
Avatar van stenno PHP interesse Ja inderdaad klopt,

bij nader inzien heb je trouwens helemaal geen Array() nodig.
Dit kan volgens mij namelijk ook:
  1. <html>
  2. <head>
  3. <title>Untitled</title>
  4. <script language="JavaScript" type="text/javascript">
  5. <!--
  6. function tel()
  7. {
  8. for(x=0;x<30;x++)
  9. {
  10. document.form1.aa[x].value= parseFloat(document.form1.aa[x+1].value)*parseFloat(document.form1.aa[x+2].value);
  11. }
  12. }
  13. //-->
  14. </script>
  15. </head>
  16. <body>
  17. <form name="form1">
  18. <table>
  19. <tr>
  20. <td><input type="text" name="aa" value="" /></td>
  21. <td><input type="text" name="aa" value="1"/></td>
  22. <td><input type="text" name="aa" value="1"/></td>
  23. </tr>
  24. <tr>
  25. <td><input type="text" name="aa" value=""/></td>
  26. <td><input type="text" name="aa" value="2"/></td>
  27. <td><input type="text" name="aa" value="1"/></td>
  28. </tr>
  29. <tr>
  30. <td><input type="text" name="aa" value=""/></td>
  31. <td><input type="text" name="aa" value="3"/></td>
  32. <td><input type="text" name="aa" value="1"/></td>
  33. </tr>
  34. <tr>
  35. <td><input type="text" name="aa" value=""/></td>
  36. <td><input type="text" name="aa" value="4"/></td>
  37. <td><input type="text" name="aa" value="1"/></td>
  38. </tr>
  39. <tr>
  40. <td><input type="text" name="aa" value=""/></td>
  41. <td><input type="text" name="aa" value="5"/></td>
  42. <td><input type="text" name="aa" value="1"/></td>
  43. </tr>
  44. <tr>
  45. <td><input type="text" name="aa" value=""/></td>
  46. <td><input type="text" name="aa" value="6"/></td>
  47. <td><input type="text" name="aa" value="1"/></td>
  48. </tr>
  49. <tr>
  50. <td><input type="text" name="aa" value=""/></td>
  51. <td><input type="text" name="aa" value="7"/></td>
  52. <td><input type="text" name="aa" value="1"/></td>
  53. </tr>
  54. <tr>
  55. <td><input type="text" name="aa" value=""/></td>
  56. <td><input type="text" name="aa" value="8"/></td>
  57. <td><input type="text" name="aa" value="1"/></td>
  58. </tr>
  59. <tr>
  60. <td><input type="text" name="aa" value=""/></td>
  61. <td><input type="text" name="aa" value="9"/></td>
  62. <td><input type="text" name="aa" value="1"/></td>
  63. </tr>
  64. <tr>
  65. <td><input type="text" name="aa" value=""/></td>
  66. <td><input type="text" name="aa" value="10"/></td>
  67. <td><input type="text" name="aa" value="1"/></td>
  68. </tr>
  69. </table>
  70. <input type="button" value="search" onClick="tel()" />
  71. </form>
  72. </body>
  73. </html>
Offline haytjes - 05/10/2005 18:30
Avatar van haytjes Gouden medailleGouden medaille

JS gevorderde
for(x=0;x<30;x=x+3)
dan wel
Offline stenno - 05/10/2005 18:52 (laatste wijziging 05/11/2005 11:40)
Avatar van stenno PHP interesse Nog een vraagje weet iemand hoe ik dat hier mee doe ??

  1. <?php
  2. mysql_connect('192.168.0.11','u56452099','loet06') or die("couldn't connect to the database. Please try again.");
  3. mysql_select_db('u56452099') or die(mysql_error());
  4. ?>
  5. <html>
  6. <head>
  7. <title>Untitled</title>
  8. <script language="JavaScript" type="text/javascript">
  9. <!--
  10. function NumberFormat(num, inputDecimal)
  11. {
  12.  
  13.  
  14. function a()
  15. {
  16. var y = document.form1.test.length;
  17. for (x=0; x<y; x++)
  18. {
  19. // HET GAAT DUS OM DIT ONDERSTAANDE STUK !!!
  20. var obj = document.getElementById('test');
  21. var num = new NumberFormat();
  22. num.setNumber(obj.innerHTML);
  23. num.setPlaces('0');
  24. num.setSeparators(true, ',', ',');
  25. obj.innerHTML = num.toFormatted();
  26. }
  27. }
  28. //-->
  29. </script>
  30.  
  31. </head>
  32. <body onload="a()">
  33. <form name="form1">
  34. <center>
  35. <table width="650" border="1" bordercolor="" style="border-collapse:collapse;" cellpadding="3" cellspacing="0">
  36. <tr bgcolor="darkblue">
  37. <th>#</th>
  38. <th>Nickname</th>
  39. <th>Rank</th>
  40. <th>Sentry rating</th>
  41. <th>Spy rating</th>
  42. <th>Reason</th>
  43. <?php
  44. $res = mysql_query("SELECT id,nickname,rank,sentry,spy,reason,spylink FROM targets");
  45. while($obj=mysql_fetch_assoc($res))
  46. {
  47. ?>
  48.  
  49. <tr>
  50. <td><?=$obj['id']?></td>
  51. <td><a class="type1"href="<?=$obj['spylink'];?>"><?=$obj['nickname'];?></a></td>
  52. <td id="test" name="test"><?=$obj['rank']?></td>
  53. <td id="test" name="test"><?=$obj['sentry']?></td>
  54. <td id="test" name="test"><?=$obj['spy']?></td>
  55. <td><?=$obj['reason']?></td>
  56. </tr>
  57.  
  58. <?php
  59. }
  60. ?>
  61. </table>
  62. </center>
  63. </form>
  64. </body>
  65. </html>


Hoe ga ik dit stuk goed verwerken in een forlus ??
  1. var obj = document.getElementById('test');



ER moet dus op de een of andere manier een +[x] bij of zo
Offline haytjes - 05/11/2005 12:39 (laatste wijziging 05/11/2005 12:43)
Avatar van haytjes Gouden medailleGouden medaille

JS gevorderde
via hetvolgende krijg je een array:
  1. var obj = document.getElementsByName('test');

:!: hier gebruik ik NAME

  1. obj.length = hoeveel;
  2. obj[0-....] = De 1ste -> ...de
  3.  
  4. for(x=0;x<obj.length;x++)
  5. {
  6. obj[x].kweetniewat = ....;
  7. }



Er zit wel nog een foutje in je script:
Citaat:
function NumberFormat(num, inputDecimal)
{
...
function a()
{
...
}
}
dit moet hetvolgende zijn:
  1. function NumberFormat(num, inputDecimal)
  2. {
  3. ...
  4. }
  5. function a()
  6. {
  7. ...
  8. }

Offline stenno - 05/11/2005 12:48 (laatste wijziging 05/11/2005 12:50)
Avatar van stenno PHP interesse Haha ja hoor weer weet hij het !!!

Harstikke bedankt man !! ^^

edit1) Is van de For lus 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.525s