2016-05-12 9 views
0

私は従業員用のウェブページを用意しています。ドロップダウンからアイテムを選択し、そのアイテムの価格を自動的に入力します。ここに私のコードは次のとおりです。数量で価格を計算してください

<script> 
$(document).ready(function() { 

    $('#price_input').on('change', function() { 
    $selection = $(this).find(':selected'); 
    $('#opt_value').val($selection.val()); 
    $('#opt_price').val($selection.data('price')); 
    }); 
}); 
</script> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
<select id="price_input"> 
    <option value="Coffee" data-price="3.00">Coffee</option> 
    <option value="Chips" data-price="0.75">Chips</option> 
    <option value="Soda" data-price="2.50">Soda</option> 
</select> 
<div>Option Value <input type="text" id="opt_value"/></div> 
<div>Option Price <input type="text" id="opt_price"/></div> 

コードが正常に動作しますが、どのように私は1デフォルトは、それが2に変更され、価格が倍増し、そのままでは、に変更されていることを数量入力を追加することができるだろうたとえば「オプション価格」入力の3つの価格トリプルを入力します。

+0

KnockoutJSを使用する前に、私はそれをチェックアウトすることを強くお勧めします。非常に小さなコードで何をしようとしているのかを達成することができます。 –

+0

数量はどこですか? – Azim

+1

tf?だから定期的なjavascriptをすることができますなぜ、彼は1つの小さな乗法の問題を行うことができますので、全体のライブラリをお勧めします.. –

答えて

1
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
<script> 
$(document).ready(function() { 

    $('#price_input').on('change', function() { 
    $selection = $(this).find(':selected'); 
    $('#opt_value').val($selection.val()); 
    $('#opt_price').val($selection.data('price')); 
    $('#quantity_input').on('change', function() { 
     $('#opt_price').val($selection.data('price') * $(this).val()); 
    }); 
    }); 
}); 
</script> 

<select id="price_input"> 
    <option value="Coffee" data-price="3.00">Coffee</option> 
    <option value="Chips" data-price="0.75">Chips</option> 
    <option value="Soda" data-price="2.50">Soda</option> 
</select> 
<select id="quantity_input"> 
    <option value="1" >1</option> 
    <option value="2" >2</option> 
    <option value="3" >3</option> 
</select> 
<div>Option Value <input type="text" id="opt_value"/></div> 
<div>Option Price <input type="text" id="opt_price"/></div> 

計算は、デフォルト値の場合と同様に、変更上で動作し、あなたがその部分を把握することができます両方を監視します。数量ドロップダウン機能の変更を開始する必要があります。

0
var select = $("#opt"); 
var price = $("input#opt_price"); 
var quantity = $("input#opt_quantity"); 

var onChangeSelect = function() { 
    price.val(select.children(":selected").data('price')); 
    quantity.val(1); 
} 

select.on('change', onChangeSelect); 
quantity.on('change', function() { 
    price.val(select.children(':selected').data('price') * $(this).val()); 
}); 

onChangeSelect(); 

更新

+0

あなたは変態のいずれかが変更されたときにshitsを変更したい.. .. $( '#opt_quantity') 。( '#price_input')。on( 'change'、function(){...}); ' –

+0

私はこれを動作させるように見えません。数量を入力した後、価格は同じままです – Matt

関連する問題