在Jquery中计算页面加载时的字段值

时间:2013-08-13 13:22:13

标签: jquery

我正在尝试根据Internet上的示例学习jquery为我的网站制作简单的应用程序。 它是3个字段的简单乘法,结果显示在第四个输入字段中。 在html中,3个字段具有预设值。

问题:在页面加载时计算结果值的原因是什么,而不用键盘事件触发它。我找到了两种方法,只有第二种方法计算页面加载值。

    $(':input').bind('keypress keydown keyup change',function(){
var qt = parseFloat($('#qt').val(),10),
    a = parseFloat($('#a').val(),10),
    b = parseFloat($('#b').val(),10);
// var v = '';
if (a && b && qt){
    v = a*b*qt; 
    $('#ans').val(Math.round(a*b*qt*100)/100);
}
//  $('#ans').val(v.toString());
});

第二个示例即使在页面加载时也能正常工作:

var calcpvc = function() {
var qt = parseFloat($('#qt').val(),10),
    a = parseFloat($('#a').val(),10),
    b = parseFloat($('#b').val(),10);
//var v = '';
if (a && b && qt){
    v = a*b*qt; 
    $('#ans').val(Math.round(a*b*qt*100)/100);
}
 //  $('#ans').val(v.toString());
};
$(':input').keyup(calcpvc).change(calcpvc).change();

1 个答案:

答案 0 :(得分:1)

我不确定我是否完全明白你的要求,但我想你想知道为什么第二个例子适用于加载?

在这种情况下,因为该函数附加到元素的changekeyup事件,然后手动触发change事件。