在点击时添加javascript?

时间:2012-01-07 17:49:01

标签: javascript jquery

当有人点击我的价格上涨按钮时,我希望价格在#priceInput框中增加.1。这只是不起作用..我做错了什么?

$("#priceUp").click(function(){ 
    var xyz = parseInt($("#priceInput").val());
    xyz=(xyz+.1);
    $("#priceInput").val(xyz);
});

3 个答案:

答案 0 :(得分:5)

您正在尝试将十进制数解析为整数,因此您的解决方案无法正常工作,因为数学评估器会对您的数字进行舍入。
如果运行parseInt(0.1),则结果为0.

因此,请使用parseFloat代替parseInt

你还需要一个小技巧来避免'0.30000000000000004'“bug”(这不是一个真正的错误)。
解决方案:http://jsfiddle.net/erLqa/

答案 1 :(得分:4)

它可能无效,因为您添加0.1,但稍后您使用parseInt。使用parseFloat代替parseInt

答案 2 :(得分:2)

您可能希望使用parseFloat,而不是parseInt,因为您将价格提高了0.1。此外,您需要确保#priceInput的值是一个数字:

$("#priceUp").click(function() {
    var xyz = parseFloat($("#priceInput").val() || 0);
    xyz = (xyz + .1);
    $("#priceInput").val(xyz);
});

这是working example