1

我试图在我的页面上实现一个简单的乘法。

这就是我所拥有的:

HTML

    <input type="text" name="qty" id="qty" maxlength="12" title="Qty" class="input-text qty">
    <span class="price">$2</span>
    <div class="total"></div>

jQuery

     $('input[name="qty"]').keyup(function() {
     var a = $('span.price"]').val();
     var b = $(this).val();
     $('.total"]').val(a * b);
     });

- 基本上发生的情况是输入#qty 是用户自己输入的字段 - span.price 是更新价格的位置,span.price 会随着您向产品添加更多选项而更新 -.total 是div 从数量 * 价格中显示总计。

我知道这一切都可以使用 jQuery 我刚刚花了很多时间试图让它工作。

4

4 回答 4

2

和没有span(它们不是输入字段)。您可以用来获取/设置它们的内容。此外,您的和选择器不正确,您需要删除:divvalues.text().totalspan.price"]

 $('input[name="qty"]').keyup(function() {
     var a = $('span.price').text();
     var b = this.value;
     $('.total').text(a * b);
 });

这是一个小提琴


编辑

您可以使用replace从您的span.price

var a = $('span.price').text().replace('$', '');

或者,对于更强大的东西,您可以替换任何不是数字或句点 ( .) 的内容:

var a = $('span.price').text().replace(/[^\d.]/g, '');
于 2013-04-30T07:35:18.090 回答
1

表单 html 标签你不能得到任何值。为此,您需要使用 .html() 方法。

$('input[name=qty]').keyup(function() {
 var a = $('span.price').html();
 var b = $(this).val();
 $('.total').html(parseInt(a) *parseInt(b));
 });

或者你可以直接用 out parstInt 写

$('input[name=qty]').keyup(function() {
 var a = $('span.price').html();
 var b = $(this).val();
 $('.total').html(parseInt(a) *parseInt(b));
 });

享受.....!!!:)

于 2013-04-30T07:57:40.937 回答
1

使用text()html()获取html标签内的文本...val()仅用于获取/设置输入元素的值..

尝试这个

  var a = $('span.price"]').text();  //<---here
  var b = $(this).val();
  $('.total').text(a * b);
         //---^^^^---here
于 2013-04-30T07:36:10.487 回答
1
 $('input[name=qty]').keyup(function() {
     var a = $('span.price').html();
     var b = $(this).val();
     $('.total').html(a * b);
     });

试试上面的代码,这对你有用。

于 2013-04-30T07:37:12.713 回答