2011-10-05 9 views
3

配送オプションに基づいて計算する必要があります。この例では、単に新しい価格をalert()にしたいだけです。選択した料金に6%を加え、alert()を追加します。私は実際にhtmlの下に変更することはできませんが、オプションのいずれかが選択されている場合、それはselectedを追加します。jQueryオプションvalと選択した場合、数学と警告を行います

<select name="ShippingSpeedChoice" onchange="this.form.submit();"> 
<option value="0">PLEASE SELECT</option> 
<option value="701">UPS Ground $9.90 </option> 
<option value="703">UPS 3Day Select® $30.88 </option> 
</select> 

オプション値701が選択されているのであれば、私は9.90 * 1.06の合計を表示するアラートを望む.... 10.49。現在、選択されているものに関係なく表示されます。 (つまり、<option value="703" selected>UPS 3Day Select® $30.88 </option>アラートがポップアップ表示され、表示されません)。何か案は?

$(document).ready(function() { 
    if ($("option[value='701']:selected")) { 
    $("option[value='701']").each(function() {           
     var isthePrice = $(this).text().replace("UPS Ground $", ""); 
     var parsedShip = parseFloat(isthePrice); 
     var doMath = parsedShip * 1.06; 
     alert(doMath.toFixed(2) + " "); }); 
    }       
}); 
+0

これは私が答えを投稿してくれましたありがとうございました! – ToddN

答えて

2

DOMの準備ができているときに値が選択されているかどうかを尋ねてきます。オプションが変更されたときにスクリプトを実行するには、イベントハンドラをバインドする必要があります。

$(document).ready(function() { 
    $("select").bind("change", function(){ 
     if ($("option[value='701']:selected", this)) { 
     $("option[value='701']").each(function() {           
      var isthePrice = $(this).text().replace("UPS Ground $", ""); 
      var parsedShip = parseFloat(isthePrice); 
      var doMath = parsedShip * 1.06; 
      alert(doMath.toFixed(2) + " "); }); 
     } 
    });      
}); 

あなたの出発点ですが、平均的な場合に使用されるオプションで具体的にする必要があります。

+0

はい、これもうまくいきます。 { '$(" select "){ $(" option [value = '701']:selected ")それぞれの(function() var dotheath = parseedShip * 1.06; アラート(doMath.toFixed())は、 2)+ "「); }); }); });私の実際のページ上で起こって何' – ToddN

+0

アラートpopsupは、そのページが選択されたオプションを使用してリフレッシュするということです。リロード後にアラートがポップアップするようにする方法はありますか? – ToddN

+0

NVM私はそれを持って、ありがとう。 – ToddN

関連する問題