基于Field的jQuery自动计算

时间:2011-05-10 08:45:40

标签: jquery forms field

我有这段代码:

<label>Number of Shares:</label><input name="shares" id="shares" type="text" />

Total Value: &euro; 0.00

我需要做的就是在键入总值时自动计算。例如,如果某人在该字段中输入100,我需要将其与1.50一起使用,因此该字段下方的0.00将被替换为150.00。

有人能告诉我怎样才能用jQuery做到这一点?

5 个答案:

答案 0 :(得分:3)

这是一个简单的代码。我没有添加任何验证或格式功能

HTML

<label>Number of Shares:</label><input name="shares" id="shares" type="text" />
<br />
Total Value: &euro; <span id="result"></span>

的Javascript

$(document).ready(function(){
    $('#shares').keyup(function(){
        $('#result').text($('#shares').val() * 1.5);
    });   
});

演示: http://jsfiddle.net/7BDwP/

答案 1 :(得分:2)

这是jquery的一个非常好的计算插件(它帮助了我) - http://www.pengoworks.com/workshop/jquery/calculation/calculation.plugin.htm <是/> 它将是你的有用链接

答案 2 :(得分:1)

$("#shares").keyup(function() {
   var val = parseFloat($(this).val());
   // If val is a good float, multiply by 1.5, else show an error
   val = (val ? val * 1.5 : "Invalid number");
   $("#result").text(val);
})

将结果包含在元素

Total Value: &euro; <span id="result">0.00</span>

使用keyup事件将使文本实时更新。

演示here

答案 3 :(得分:0)

// this approach should work...not sure

$("#shares").onchange= update( $(this).val() );

function update(inputVal)
{
 if( parseFloat( inputVal ) == true)
  $("resultDiv").html( inputVal * 1.5 );
}

答案 4 :(得分:0)

一种非常简单的方法是使用“keyup”。

<强> HTML

<form id="order_form">
<input type="number" id="qty"/>
<input type="text" id="result"/>
</form>

<强> JS

$(document).ready (function(){   
$('#qty').on('keyup change',function(){
    $('#result').val($(this).val() * 1.50);
    });

});

这将实时更改输出。