我试图在我的页面上实现简单的乘法。
这就是我所拥有的:
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可以实现这一切我花了很多时间试图让它工作。
答案 0 :(得分:2)
span
和div
没有values
(它们不是输入字段)。您可以使用.text()
来获取/设置其内容。此外,您的.total
和span.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, '');
答案 1 :(得分:1)
使用text()
或html()
获取html标记内的文字。 .val()
仅用于获取/设置输入元素的值。
试试这个
var a = $('span.price"]').text(); //<---here
var b = $(this).val();
$('.total').text(a * b);
//---^^^^---here
答案 2 :(得分:1)
$('input[name=qty]').keyup(function() {
var a = $('span.price').html();
var b = $(this).val();
$('.total').html(a * b);
});
尝试上面的代码,这对你有用。
答案 3 :(得分:1)
表单html标记您无法获得任何价值。为此,您需要使用.html()方法。
$('input[name=qty]').keyup(function() {
var a = $('span.price').html();
var b = $(this).val();
$('.total').html(parseInt(a) *parseInt(b));
});
或者你可以直接用parstInt写
$('input[name=qty]').keyup(function() {
var a = $('span.price').html();
var b = $(this).val();
$('.total').html(parseInt(a) *parseInt(b));
});
享受..... !!! :)