使用jQuery更新span,基于输入字段的简单实时计算

时间:2013-02-19 17:03:44

标签: javascript jquery html math live

所以我对一些jQuery有一个小问题,我会在一些帮助上找到帮助。我有两个值,一个来自输入字段,另一个来自静态元素。所以它应该相当简单,我希望它尽可能“现场”。我为了它而制作了一个JSFIDDLE。请检查一下。

http://jsfiddle.net/pzSxL/2/

$('#bet-amount').keyup(function() {
var amount = $("#bet-amount").val();
var odds = 2;

var total = amount * odds;

$("#potential-payout").val(total); 
});

任何帮助都很受欢迎,我希望你能看到我想要的是更新包含默认值为0的范围。

祝你好运, 安德烈!

4 个答案:

答案 0 :(得分:0)

试试这个:http://jsfiddle.net/pzSxL/3/

 var total = amount * odds;

 $("#potential-payout").text(total);
       //  ------------^^^^^-----------you had to change this.

答案 1 :(得分:0)

你错误地使用了span.val();你应该使用html或text jQuery方法更新内部跨度的html,另外,你应该从输入字段解析值。所以这是你的功能。

$('#bet-amount').keyup(function() {
    var amount = parseFloat($("#bet-amount").val());
    var odds = 2;

    var total = amount * odds;

    $("#potential-payout").html(total); // sets the total price input to the quantity * price
});

答案 2 :(得分:0)

您无法使用val函数更改内部html。 Html是正确的功能:

$("#potential-payout").html(total); 

答案 3 :(得分:0)

$('#bet-amount').on('keyup', function() {
    var amount = parseFloat( this.value ),
        odds   = 2,
        total  = amount * odds;

    $("#potential-payout").text(total);
});

FIDDLE

返回的值结果始终是一个字符串,因此应该进行一些解析,并且在设置跨度的“值”时,实际上不是值,而是文本内容,text()会更合适。