选择标签/选项标签故障

时间:2010-02-16 18:30:57

标签: javascript

所以大约一个小时后,我们找不到一个关于如何使用这些标签及其ID,名称和值来获得十进制数量来完成我的表单总结的好教程。简单地说,我有一个选择框,并希望它返回我的选项值和该选项值的数量。

继承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>

可能我的第一个问题是为小数方设置一个循环。这就是我试图为一个选择框编写循环和函数的方法

 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");
 }

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

使用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.");

答案 1 :(得分: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");
}