我有3个输入字段
<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 Datepicker
$( "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次。所以我需要一些建议。
答案 0 :(得分:1)
$( "input#cust1" ).datepicker({onClose:function(){ setSum() }});
$( "input#cust2" ).datepicker({onClose:function(){ setSum() }});
在编写代码时,尽量不要重复自己,编写一下你的函数:
function setSum()
{
var sum = parseInt(BAG_PRICE)*parseInt(countHrs());
if (isNaN(sum)) { sum = '' }
$("input#rent_price").val(sum);
}