我有3个输入字段,其值已预先填充,常量值为200小时。我正在计算avghours为date1和date2的totalhours / datediff。
我的问题是,如果我更改date2的值,那么我希望avghours值相应地改变。我不确定应该使用哪个事件来触发进行计算的方法
<input type="text" id ="avghours"/>
<input type="text" id ="date1"/>
<input type="text" id ="date2"/>
Javascript代码
function getavg()
{
$('#avghours').val()=totalhours/datediff($('#date2').val(),$('#date1').val(),'day');//datediff is userdefined function to get the datedifference
}
只有在焦点丢失的情况下才会触发更改,因此可能无法实现我可以使用的任何其他事件。
由于
Prady
答案 0 :(得分:2)
更改
$('#avghours').val()=totalhours/datediff($('#date2').val(),
$('#date1').val(),'day');
到
$("#date2").bind("keyup blur change mouseup",function () {
var d = parseInt(datediff($('#date2').val());
var v = (totalhours/d) + ' ' + $('#date1').val() + ' day'; <-- mergestrings
$('#avghours').val(v);
});
通过功能而不是右手分配。
答案 1 :(得分:0)
如果要在用户输入时立即更新,可以使用keyup事件。
答案 2 :(得分:0)
你可以试试按键......
$('#date2').keypress(function() {
//do calculating average logic here
});
然后,当文本框的值发生变化时,这将会恢复
答案 3 :(得分:0)
您可以使用 .change()
事件。
$("#date2").change(function(){
});
答案 4 :(得分:0)
[![<html>
<head>
<title></title>
<script>
function multy(val)
{
alert(val.value+"--"+val.id);
}
</script>
</head>
<body>
<input id="txtdemo" type="text" onchange="multy(this);"></br>
<input id="txtdemo" type="text" onchange="multy(this);">
</input>
</body>
</html>][1]][1]