jquery - 与javascript变量斗争

时间:2012-09-28 11:22:08

标签: php jquery

我对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方面我完全不了解。

1 个答案:

答案 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' 
 });