1

我有一个带有不同美元金额的下拉列表的表单... 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 )); 
});​
4

2 回答 2

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/

于 2012-11-30T02:47:46.100 回答
0

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

于 2012-11-30T02:04:36.703 回答