我有两个事件:onFocus(saveOld)和OnChange(showPoints)。当用户关注下拉菜单时,我使用jquery.data函数保存下拉菜单的旧值。当用户更改下拉菜单的值时,我将检查旧值是否大于当前值。如果是这样,我会根据需要调整总数。但这仅在从onChange中的.data函数获取旧值后提醒旧值时有效。没有警报,什么都不会发生。
function showPoints(pointCategory, ddlAmount, name){
old = jQuery.data(document.body,name);
alert(old);
var Points = parseInt($('p#points').html());
if(old > ddlAmount){
diff = old - ddlAmount;
currentPoints = Points + (diff * pointCategory);
}else{
currentPoints = Points - (ddlAmount * pointCategory);
}
$('p#points').html(currentPoints);
}//showPoints
function saveOld(oldAmount, name){
$(document.body).data(name,oldAmount);
}
如果在showPoints()中没有警报,则无法正常工作。怎么了?
多谢你们
编辑:请注意,我已经尝试过this.delay(1000)警报应该在哪里。还是没用
最佳答案
尝试将onfocus更改为onclick,并在showPoints的末尾将当前值保存到.data,如下所示:
$('p#points').html(currentPoints);
$(document.body).data(name,currentPoints);
我会在showPoints函数中使用局部变量。