我试图通过将sum
值(用户输入的值)乘以qtyTxt
来显示price
标签中的总价。但它不起作用,永远不会达到if
语句。
<input type="text" name="qtyTxt" value="1" size="2" style="width: 25px"/>
<label id="price">${adClicked.price}</label>
<label id="sum">${adClicked.price}</label>
<input type="hidden" name="id" value="${adClicked.id}"/>
<script>
$(".qtyTxt").bind('change', function () {
var sum=$(("#price").val())* ($(this).val());
$("#sum").val('Rs.'+sum);
});
</script>
控制台中没有错误,$("#sum").val('Rs.'+sum);
工作正常。
答案 0 :(得分:2)
1)使用parseInt()
或parseFloat()
parseInt()
函数解析字符串并返回整数。
2)另一个错误不要将val()
用于标签而不是使用text()
作为标签
var sum= parseInt($("#price").text() , 10) * parseInt($(this).val() ,10);
代码
$(".qtyTxt").bind('change', function () {
var sum= parseInt($("#price").text() , 10) * parseInt($(this).val() ,10);
$("#sum").text('Rs.'+sum);
});
答案 1 :(得分:0)
两个问题:
1)您的代码中存在错误,$(("#price").val())
应为$("#price").text()
或$("#price").html()
2)您需要在进行数学计算之前解析值:
var sum=parseInt($("#price").text(),10)*parseInt($(this).val(),10) ;