2010-02-16 4 views
1

Après environ une heure, je n'ai pas réussi à trouver un bon didacticiel sur l'utilisation de ces balises et de leurs identifiants, noms et valeurs pour obtenir un nombre décimal suffisant pour terminer la création de mon formulaire. Autrement dit, j'ai une boîte de sélection et je souhaite qu'elle renvoie la valeur de mon option et le montant de cette valeur d'option.Problème de tag/option tag

Heres le code HTML

<tr> 
     <th colspan="4" class="label">Shipping Method: 
      <select name="shipMethod" id="shipMethod" size="1"> 
      <option value="">Choose a shipping method</option> 
      <option value="priority2">Priority mail $3.20 (4 items or less)</option> 
      <option value="priority3">Priority mail $4.30 (6 items or less)</option> 
      <option value="priority4">Priority mail $5.40 (8 items or less)</option> 
      <option value="overnight">Express $15.75 (4 items or less only)</option> 
      <option value="UPS">UPS - 2 day $15.00 (9 - 49 items)</option> 
      <option value="free">Free shipping (50+ items only)</option> 
      </select> 
     </th> 
     <td><input name="shippingChg" id="shippingChg" type="text" size="10" maxlength="60" value="" /></td> 
     </tr> 
     <tr> 

probablement mon premier problème est mise en place une boucle pour le côté décimal des choses. Voici comment j'essaierais d'écrire ma boucle et de fonctionner pour une boîte de sélection

function ship_some_stuff() 
var ship_me= document.getElementById("shipMethod").value; (unsure if this returns 
the option value though, but the idea is to save to a variable later) 

if ship_me == priority2 { 
var shipthisway = 3.20; 
document.getElementById("shippingCHg").value = varshipthisway ; 
} 

if ship_me == priority3{ 
var shipthisway = 4.30; 
document.getElementById("shippingCHg").value = varshipthisway ; 
} 


else varship == ""; { 
alert("You haven't selected a shipping Method"); 
} 

Merci pour l'aide!

Répondre

0
function get_shipping_charge() { 
    var ship_me= document.getElementById("shipMethod").value; 
    if (ship_me == "priority2") return 3.20; 
    else if (ship_me == "priority3") return 4.30; 
    else return NaN; 
} 
function do_shipping_charge() { 
    var shipthisway = get_shipping_charge(); 
    if (shipthisway) document.getElementById("shippingCHg").value = shipthisway; 
    else alert("You haven't selected a shipping Method"); 
} 
+0

juste curieux avez-vous divisez en deux fonctions à des fins de visibilité ou de fonctionnalité? – Matt

+0

Fonctionnalité, donc il n'y a pas d'effets secondaires si vous n'êtes pas prêt à mettre à jour l'entrée shippingCHg (quand rien n'est sélectionné). Sinon, cela afficherait "NaN" qui ne semble pas bien et pourrait causer des problèmes avec vos autres calculs. BTW, n'oubliez pas de voter +1 aussi. Je suis nouveau donc chaque petit peu aide =) –

0

En utilisant jQuery:

var shippingPrice = false; 

switch($("#shipMethod").val()) 
{ 
    case "priority2": 
     shippingPrice = "3.20"; 
     break; 
    case "priority3": 
     shippingPrice = "4.30"; 
     break; 
    // and so on 
} 

if (shippingPrice) 
    $("#shippingChg").val(shippingPrice); 
else alert("You haven't selected a shipping method.");