我有一个文本字段,我需要添加它们的值。问题是这些文本字段中的值未输入但是来自其他来源。这些文本字段也恰好是只读的。 我需要的是当这些文本字段的值发生变化时触发的相应事件。这是我目前使用的,但它不够好,因为我必须点击并失去焦点,以便文本字段计算。 FYI .change和.click事件也不能很好地工作。我需要立即总结它们动态变化的值。 #grandmealstotal是需要添加的文本字段之一,#usdgrandaccomtotal是需要添加的其他文本字段。提示结果并显示在id为#gross_tripexpense的文本字段中。以下是我正在使用的内容
$("#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));
})
任何帮助表示感谢。
答案 0 :(得分:1)
在这种情况下,您可以使用 .keydown()
或.keyup()
事件:
$('#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
方法可能会失败。您可以使用isNaN
函数:
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
});
答案 1 :(得分:0)
您可以为.change()
事件添加事件处理程序,然后在每次更新输入值时触发.change()
事件。