2011-01-27 10 views
0

私は3つの入力フィールドに値をあらかじめ入力し、合計時間200の一定値を持っています。私はdate1とdate2のtotalhours/datediffとしてavghoursを計算しています。jqueryを使用してテキストボックスのテキスト値が変更されたときの関数の呼び出し方法

私の質問は私が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 


} 

変更はそれができない場合がありますので、フォーカスが失われた場合にのみ発生しますしない方法を発射するために使用すべきイベントを確認していません私が使用できるanyotherイベント。

おかげ

Prady

答えて

2

変化

$('#avghours').val()=totalhours/datediff($('#date2').val(), 
              $('#date1').val(),'day'); 

代わりに右手の機能を介して割り当てます。

+0

なぜ私は合併症を理解できませんでしたか? datediffは、日付の違いを調整するためのユーザー定義関数でした。または、私は何か非常に明白な行方不明ですか? – Prady

+0

いいえ、あなたの正しいコードを理解していますが、私はそれを少し読めるようにしたいと思います;) –

+0

oh ok ...私は今それを手に入れました。私は貼り付けられたマウスのような意味です – Prady

0

あなたはkeyUpイベントを使用することができたときに、ユーザーがタイプすぐにそれを更新する場合。

$("#date2").bind("keyup blur change mouseup",function() { 
    var d = parseInt(datediff($('#date2').val()); 
    var v = (totalhours/d) + ' ' + $('#date1').val() + ' day'; <-- mergestrings 
    $('#avghours').val(v); 
}); 

+0

? – Prady

0

あなたは、テキストボックスの値が必要ですこのため.change()イベントを使用することができます

+0

マウスを使用して値を貼り付けると、キーを押すことになりますか? – Prady

0

を変更されたときに、これが拾うだろう...そう

$('#date2').keypress(function() { 
//do calculating average logic here 
}); 

をキー操作を試みることができます。ユーザーは、彼が希望このイベント火災、マウスを使用して別のフィールドから日付を貼り付けキーボードを使用doesnotどうなるか

$("#date2").change(function(){ 

}); 
+0

変更イベントは、フォーカスが失われた場合にのみ発生します。 – Prady

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] 
関連する問題