2011-09-04 68 views
2

之間我有3個輸入框jQuery的日期選擇變化值的基礎上,區別兩個日期

<input type="text" name="cust1" id="cust1" size="10" value="" class="inputbox" /> 
<input type="text" name="cust2" id="cust2" size="10" value="" class="inputbox" /> 
<input type="text" name="rent_price" id="rent_price" size="10" value="" disabled="disabled" class="inputbox" /> 

jQuery的日期選擇器

$("input#cust1").datepicker(); 
$("input#cust2").datepicker(); 

和功能改變輸入#rent_price的價值:

function setSum() 
    { 
     var hrs = countHrs(); 
     $("input#rent_price").attr('value',function(){ 
      sum = parseInt(BAG_PRICE)*parseInt(hrs); 
      if (isNaN(sum)) 
      { 
      sum = ''; 
      return sum; 
      } 
      else 
      { 
      return sum; 
      } 
     }); 
    } 

所以當我寫這個:

$("input#cust1").change(setSum()); 
    $("input#cust2").change(setSum()); 

輸入的值#rent_price僅更改已刷新頁面的值。如果我在setSum()中寫入警報,則觸發2次。所以我需要一些建議。

回答

1

使用datepicker's onClose event

$("input#cust1").datepicker({onClose:function(){ setSum() }}); 
$("input#cust2").datepicker({onClose:function(){ setSum() }}); 

還編寫代碼時,儘量不重複自己,editted你的函數一點:

function setSum() 
{ 
    var sum = parseInt(BAG_PRICE)*parseInt(countHrs()); 
    if (isNaN(sum)) { sum = '' } 
    $("input#rent_price").val(sum); 
} 
+0

沒有任何反應。即使'$(「input#cust1」).datepicker({onClose:function(){alert('123')}}); '不工作 –

+0

你在某個地方有一個錯字;它在http://jsfiddle.net/jftLf/正常工作;或者可能是舊版本的jQuery UI? – mreq

+0

我找到了。 '; $(「input#cust1」).datepicker();'然後在幾行''(「input#cust1」).datepicker({onClose:function(){alert('123')}});'我的壞:)謝謝你的幫助。 –