添加textfields的值Jquery HTML
我有一个文本字段,我需要添加它们的值。问题是这些文本字段中的值不是键入的,而是从另一个源获取的。这些文本字段也恰好是只读的。 我需要的是当这些文本字段的值更改时触发的适当事件。这是我目前正在使用的,但还不够好,因为我必须单击并失去焦点,以便文本字段计算。仅供参考。更改和单击事件也无法正常工作。我需要立即汇总这些值,它们会动态变化#GrandMealTotal是需要添加的文本字段之一,#USDGrandAccountTotal是需要添加的其他文本字段。结果将发出警报并显示在id为“gross”的文本字段中。下面是我正在使用的添加textfields的值Jquery HTML,jquery,html,Jquery,Html,我有一个文本字段,我需要添加它们的值。问题是这些文本字段中的值不是键入的,而是从另一个源获取的。这些文本字段也恰好是只读的。 我需要的是当这些文本字段的值更改时触发的适当事件。这是我目前正在使用的,但还不够好,因为我必须单击并失去焦点,以便文本字段计算。仅供参考。更改和单击事件也无法正常工作。我需要立即汇总这些值,它们会动态变化#GrandMealTotal是需要添加的文本字段之一,#USDGrandAccountTotal是需要添加的其他文本字段。结果将发出警报并显示在id为“gross”的文
$("#grandmealstotal").live('blur',function(){
var mealtotal=parseFloat($("#grandmealstotal").val());
var accomtotal=parseFloat($("#usdgrandaccomtotal").val());
var grosstotals=parseFloat(accomtotal+mealtotal);
alert(grosstotals)
$("#gross_tripexpense").val((grosstotals).toFixed(2));
})
感谢您的帮助。在这种情况下,您可以使用或事件:
$('#grandmealstotal').keyup(function() {
var mealtotal = parseFloat($('#grandmealstotal').val());
var accomtotal = parseFloat($('#usdgrandaccomtotal').val());
var grosstotals = parseFloat(accomtotal + mealtotal);
alert(grosstotals);
$('#gross_tripexpense').val((grosstotals).toFixed(2));
});
还要确保执行错误处理,因为如果用户输入无效数字,那些parseFloat
方法可能会失败。您可以使用该功能来执行以下操作:
var mealtotal = parseFloat($('#grandmealstotal').val());
if (!isNaN(mealtotal)) {
// use the mealtotal variable here
} else {
alert('please enter a valid number for total meals');
}
更新: 如果值为只读且无法更改,则可以在DOM就绪后执行计算:
$(function() {
... do the calculation here
});
您可以为
.change()
事件添加事件处理程序,然后在每次更新输入中的值时触发.change()
事件。@Max,oops,忽略了此细节。在这种情况下,您不需要订阅任何事件,因为它们的值不能更改。只需在$(document).ready
中执行计算。文本字段在用户导航和选择各种项目时定期更改其值。请参阅我关于解决方法的附加注释。@Max,在这种情况下,每次更新这些值时,您都必须手动触发执行计算的函数。我必须补充的是,我现在已经开始使用$(“#formdiv”)。live('mousemove',function)。。。。其中#formdiv是文本字段所在表单的id。移动鼠标时,将计算值。然而,我觉得这不是很有效,它不会创建实时显示的“提示”结果。