我对Jquery函数有点困难。由于我对语言不太了解,我想知道是否有人可以提供帮助。
$('.editableWC').editable('<?php echo base_url();?>ratesheet/editrowwendCall/<?=$editable['url'];?>/',
{
callback: function(value){
$(this).data('bgcolor', $(this).css('background-color'));
if(value == this.revert)
{
$(this).animate({ backgroundColor: "red", color: "white" }, 400);
$(this).animate({ backgroundColor: $(this).data('bgcolor'), color: "black" }, 400);
}
else
{
$(this).animate({ backgroundColor: "green", color: "white" }, 400);
$(this).animate({ backgroundColor: $(this).data('bgcolor'), color: "black" }, 400);
}
},
name : 'value',
style : 'display:inline; position:relative; right:120px;',
width : '100px',
height: '16px',
onblur : 'submit'
});
这是我的代码。它只是检查php验证中的已发布项目,如果不符合验证则返回原始值,如果不符合则返回新值。
因此,代码应该看看返回的值是否与原始值相同,如果没有变化,则显示红色表示不成功,或绿色表示成功(如果值不同)。绿色确实有效,但是它没有识别回发的原始值与this.revert值相同。
此代码会发生什么,如果值不变=绿色 如果值发生变化并且符合验证=绿色 如果值改变,则不符合验证=根本没有动画。当它想闪红色时。
我很感激任何帮助,因为在javascript方面我完全不了解。
答案 0 :(得分:1)
试试这个:
$('.editableWC').editable('<?php echo base_url();?>ratesheet/editrowwendCall/<?=$editable['url'];?>/',
{
that:this,
callback: function(value){
$(this.that).data('bgcolor', $(this.that).css('background-color'));
if(value == this.that.revert)
{
$(this.that).animate({ backgroundColor: "red", color: "white" }, 400);
$(this.that).animate({ backgroundColor: $(this.that).data('bgcolor'), color: "black" }, 400);
}
else
{
$(this.that).animate({ backgroundColor: "green", color: "white" }, 400);
$(this.that).animate({ backgroundColor: $(this.that).data('bgcolor'), color: "black" }, 400);
}
},
name : 'value',
style : 'display:inline; position:relative; right:120px;',
width : '100px',
height: '16px',
onblur : 'submit'
});