paul93: Preisrechnung mit Auswahlmenü

Hallo,

ich möchte ein Auswahlmenü(1) mit den Zahlen und Werten 1;2;3 und ein Auswahlmenü(2) mit den Zahlen und Werten 2;4;6 erstellen.
Auswahlmenü(1) wird mit Auswahlmenü(2) multipliziert.
Das Ergebnis wird in ein Textfeld geschrieben.

Ich schaffe es aber nur mit Radioboxen:

<html>  
<head>  
<title>Rechnung</title>  
<script type="text/javascript">  
function berechne() {  
  
var g = 0;  
  
if (document.f.J[0].checked)  z = g + 1;  
if (document.f.J[1].checked)  z = g + 2;  
if (document.f.J[2].checked)  z = g + 3;  
  
if (document.f.G[0].checked)  y = z * 2;  
if (document.f.G[1].checked)  y = z * 4;  
if (document.f.G[2].checked)  y = z * 6;  
  
document.f.p.value = y;  
}  
</script>  
</head>  
<body >  
<form name="f">  
<table class=form >  
  
<input type="radio" name="J" value="1" onChange="berechne()" checked>1 <br />  
<input type="radio" name="J" value="2" onChange="berechne()" >2<br />  
<input type="radio" name="J" value="3" onChange="berechne()">3<br />  
<br />  
<input type="radio" name="G" value="2" onChange="berechne()" checked>2 <br />  
<input type="radio" name="G" value="4" onChange="berechne()" >4<br />  
<input type="radio" name="G" value="6" onChange="berechne()">6<br />  
<br />  
<input type="text" size="2"  name="p" readonly>  
  
</table>  
</form>  
</body>  
</html>

Wie schaffe ich dass nun mit auswahlmen#s?
Ich dachte es funktioniert ungefähr so:

<html>  
<head>  
<title>Rechnung</title>  
<script type="text/javascript">  
function berechne() {  
  
var g = 0;  
  
if (document.f.eins[0].checked)  z = g + 1;  
if (document.f.eins[1].checked)  z = g + 2;  
if (document.f.eins[2].checked)  z = g + 3;  
  
if (document.f.zwei[0].checked)  y = z * 2;  
if (document.f.zwei[1].checked)  y = z * 4;  
if (document.f.zwei[2].checked)  y = z * 6;  
  
document.f.p.value = y;  
}  
</script>  
</head>  
<body >  
<form name="f">  
<table class=form >  
  
<select name="eins">  
 <option value="1" onChange="berechne()" checked>1</option>  
 <option value="2" onChange="berechne()">2</option>  
 <option value="3" onChange="berechne()">3</option>  
</select>  
<br />  
<select name="zwei">  
 <option value="2" onChange="berechne()" checked>2</option>  
 <option value="4" onChange="berechne()">4</option>  
 <option value="6" onChange="berechne()">6</option>  
</select>  
<br />  
<input type="text" size="2"  name="p" readonly>  
  
</table>  
</form>  
</body>  
</html>

So passiert dann aber garnichts...
Hab schon viel im Internet gesucht aber keine Lösung gefunden.
Ich hoffe ihr könnt/wollt mir helfen.

Gruß
Paul

  1. Mahlzeit paul93,

    if (document.f.J[0].checked)  z = g + 1;

    Sicher, dass *das* funktioniert? Ich empfehle - wie eigentlich *IMMER* - <http://de.selfhtml.org/javascript/objekte/elements.htm#allgemeines@title=Schema 4> ...

    Ich dachte es funktioniert ungefähr so:

    Ungefähr.

    if (document.f.eins[0].checked)  z = g + 1;

    Ich empfehle (immer noch) <http://de.selfhtml.org/javascript/objekte/elements.htm#allgemeines@title=Schema 4>.

    <table class=form >

    <select name="eins">

    Ein <table> darf nur <caption>, <thead>, <tbody>, <tfoot> sowie natürlich <tr> enthalten ... jedoch kein <select>. Validiere Deinen Code!

    <option value="1" onChange="berechne()" checked>1</option>

    Wie kommst Du auf die die Idee, ein <option>-Element könnte sich ändern? Möchtest Du den Eventhandler nicht lieber im <select> notieren? Achja - <http://de.selfhtml.org/html/referenz/attribute.htm#option@title=ein Attribut namens "checked" kennt ein <option> auch nicht> ...

    So passiert dann aber garnichts...

    Ganz sicher? Was sagt die Fehlerkonsole eines vernünftigen Browsers (Nein - nicht der IE!)?

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
    1. Hi,

      if (document.f.J[0].checked)  z = g + 1;

      Sicher, dass *das* funktioniert? Ich empfehle - wie eigentlich *IMMER* - <http://de.selfhtml.org/javascript/objekte/elements.htm#allgemeines@title=Schema 4> ...

      Wenn du den Teil in der IF-Bedingung meinst - wieso sollte der nicht "funktionieren"?

      Das ist doch ganz normales Vorgehen nach Schema #2.

      MfG ChrisB

      --
      Light travels faster than sound - that's why most people appear bright until you hear them speak.
    2. Hallo

      Danke für eure Antworten!

      Hab es jezt geschafft:

      <html>  
        
      <head>  
        
      <title>Rechner</title>  
        
        
      <script language="JavaScript" type="text/javascript">  
        
      <!--  
        
      function wechsel() {  
        
        
        
        
      var wahlgame = document.liste1.game.selectedIndex;  
        
      var preiseins = document.liste1.game.options[wahlgame].value;  
        
        
        
        
       var x = preiseins;  
        
        
        
        
      var wahlslots = document.liste1.slots.selectedIndex;  
        
      var preiszwei = document.liste1.slots.options[wahlslots].value;  
        
        
        
        
       var preis = x * preiszwei;  
        
        
      document.liste1.preiss.value = preis;  
        
        
        
      }  
        
      //-->  
        
      </script>  
        
      </head>  
        
        
      <body bgcolor="white">  
        
      <form name="liste1">  
        
        
      <select size="1" name="game" onChange="wechsel()">  
      <option value="1" selected="selected">1</option>  
        
      <option value="2">2</option >  
        
      <option value="3">3</option >  
        
      <option value="4">4</option >  
        
      </select>  
        
        
        
        
        
      <select size="1" name="slots" onChange="wechsel()">  
      <option value="2" selected="selected">2</option>  
        
      <option value="4">4</option >  
        
      <option value="6">6</option >  
        
      <option value="8">8</option >  
        
      </select>  
        
        
      <input type="text" size="2"  name="preiss" readonly>  
        
        
      </form>  
        
      </body>  
        
      </html>  
      
      

      MfG
      Paul