如何使用jquery将下拉表单字段与文本字段相乘

时间:2012-11-30 02:02:21

标签: jquery

我有一个下拉列表,其中有不同的金额... $ 50,$ 100等。问题是jQuery不能识别$ 50为50,我无法弄清楚如何使用正则表达式或一些在$ 50前面过滤掉美元符号的其他方法,所以我可以乘以两个值(该值*一个输入字段)。

在两个值相乘后,我试图将总数追加到总数为id的范围内。

编辑:我无法编辑HTML。

HTML:

<span class="Amount">
    <select name="Amount" class="wpcf7-form-control  wpcf7-select">
        <option value="$50">$50</option>
        <option value="$75">$75</option>
        <option value="$100">$100</option>
        <option value="$150">$150</option>
        <option value="$300">$300</option>
    </select>
</spa>

<span class="Qty">
    <input type="text" name="Qty" size="2" maxlength="2">
</span>

<span id="total">total: </span>

JS:

$('.Qty input').keyup(function() {
    var quantity = parseFloat($(this).val());

    //this returns NaN
    var dollars = $('span.Amount select').val();

    $('#total').text((quantity * dollars )); 
});​

2 个答案:

答案 0 :(得分:2)

您只需删除'$'

即可
$('.Qty input').keyup(multiply);
$('span.Amount select').change(multiply);
function multiply() {
    var quantity = parseFloat($('.Qty input').val());

    var dollars = $('span.Amount select').val().substr(1);

    $('#total').text('$'+(quantity * dollars )); 
}​

http://jsfiddle.net/mowglisanu/Y5YnF/1/

答案 1 :(得分:0)

您的字段值中没有$。这只是您的金额的显示装饰,不应该与您使用的值或POST到Web服务器使用。