2017-12-26 7 views
0

私はドロップダウンセレクトを持つフォームを持っており、それぞれの値が合計を計算するための値を追加します。私は以下のスクリプトを使用してそのようにした:java dropdown次のページに投稿する計算された数値

$(function(){ 
 
    $("select.calculate").on("change", calc); 
 
    $("input[type=checkbox].calculate").on("click", calc); 
 
    function calc() { 
 
     var basePrice = 60; 
 
     newPrice = basePrice; 
 
     $("select.calculate option:selected, input[type=checkbox].calculate:checked").each(function() { 
 
      newPrice += parseInt($(this).data('price'), 10); 
 
     }); 
 

 
     newPrice = newPrice.toFixed(2); 
 
     $("#item-price").html(newPrice); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select id="test" input name="test" class="calculate"> 
 
    <option data-price="0" value=" ">0</option> 
 
    <option data-price="70" value="Test x 1">1</option> 
 
    <option data-price="140" value="Test x 2">2</option> 
 
    <option data-price="210" value="Test x 3">3</option> 
 
</select> 
 

 
<span id="item-price">0</span>

それは、ページ上で素晴らしい作品が、私は、私が選んだ選択肢を運ぶだろうかのように、次のページに、前方合計数を運ぶためにしたいです。私はPOSTメソッドを使用していますが、これまでのところ次のページでPOSTを使用して選択肢を取得できます。

しかし、総数を次のページに繰り上げる方法についてはわかりません。

アイデア?

答えて

0

あなたがから値を取得する隠しフィールドに値を保存して

$(function(){ 
$("select.calculate").on("change", calc); 
$("input[type=checkbox].calculate").on("click", calc); 
    function calc() { 
     var basePrice = 60; 
     newPrice = basePrice; 
     $("select.calculate option:selected, input[type=checkbox].calculate:checked").each(function() { 
      newPrice += parseInt($(this).data('price'), 10); 
     }); 

     newPrice = newPrice.toFixed(2); 
     $("#item-price").html(newPrice); 
     $("#item_price_val").val(newPrice); 

    } 
}); 

とし、PHPページにちょうど

<input type='hidden' name='item_price' value='' id='item_price_val'> 

以下の変更のように次のページにあなたのjqueryの機能を投稿する必要があります入力変数は

$item_price = $_POST['item_price']; 

のように入力してください。

+0

Wow。出来た。ありがとう。しかし、私は1つの問題を抱えていますが、私は60ドルの基本価格を持っています。しかし、私がページに乗るときは、選択が行われたときにのみゼロが表示されます。私は 60を私の合計に加えることで回避策をとったので、ページに乗ったときに60と表示され、選択が行われたときには変更されますが、私は次のページに投稿し、それが空白のままになります。選択が行われた場合にのみ値が表示されます。それを修正する方法はありますか? –

+0

別の質問をして、それがうまくいくなら、この回答を受け入れてください: –

+1

私はそれを受け入れました。私は投票しますが、まだ十分な評判はありません。ありがとう:) –

関連する問題