0

我在使用 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 时我完全不了解。

4

1 回答 1

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' 
 });
于 2012-09-28T12:27:11.507 回答