添加文本字段的值Jquery HTML

时间:2011-10-16 08:25:53

标签: jquery html

我有一个文本字段,我需要添加它们的值。问题是这些文本字段中的值未输入但是来自其他来源。这些文本字段也恰好是只读的。 我需要的是当这些文本字段的值发生变化时触发的相应事件。这是我目前使用的,但它不够好,因为我必须点击并失去焦点,以便文本字段计算。 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));
})

任何帮助表示感谢。

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()事件。