2010-06-18 5 views
0

Je travaille actuellement avec AJAX: UpdatePanelAnimationExtender et je l'ai implémenté dans le code derrière lequel il fonctionne actuellement mais j'ai rencontré un problème avec l'utilisation de UpdatePanelAnimationExtender et d'un ASP: Repeater . J'ai joué avec différentes manières de l'implémenter mais rien n'a fonctionné correctement ... jQuery en surbrillance avec ASP: UpdatePanel


J'ai essayé de l'écrire dans codebehind - insideBoundBound (génère le code parfaitement, est attaché à l'UPAE mais bien sûr est supprimé sur la publication partielle). J'ai également essayé de l'utiliser dans l'aspx, ce qui posait également un problème. Le répéteur lui-même crée une table d'éléments (un panier) et j'essaie de mettre en évidence les éléments qui ont changé lors d'une publication (mettre en surbrillance la quantité si la quantité change, etc.). J'ai lu que jquery a une façon beaucoup plus propre de faire cela et que je tente d'aller dans cette direction.
modifier: Je cherche actuellement à

function pageLoad() 
    { 
     Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler); 
     changedHighlight(); 
    } 
    function EndRequestHandler(sender, args){ 
     if (args.get_error() == undefined){ changedHighlight(); } 
    } 
    function changedHighlight() { 
     $(document).ready(function() { 
      $('span,input,option,select').live('change', function() { $(this).effect("highlight", {color: "#44EE22"}, 1500); }); 
     }); 
    } 

Je dois comparer une valeur stockée pour à la nouvelle valeur affichée, que je travaille en ce moment. Aussi 'change' ne semble pas fonctionner sur asp: labels?

Répondre

0

Terminé en utilisant un var global (eh ..) en raison du problème de publication avec UpdatePanel et DOM recreation chaque fois (ce qui signifie ne pas pouvoir utiliser $ .data() ou this.data()).

Ne mettra en évidence que les entrées non soumises et les éléments DOM ayant un ID. (autrement asp statique: les étiquettes continueront à clignoter)

var oldVar = []; 
function pageLoad() 
{ 
    Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler) 
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler); 
} 
function BeginRequestHandler(sender, args) { 
    $(document).ready(function() { 
     oldVar = []; 
     $('input,select,span').each(function() { 
     if (this.type != "submit" && this.id != '') oldVar[this.id] = getValue(this); 
     }); 
    }); 
} 
function EndRequestHandler(sender, args){ 
    $(document).ready(function() { 
     $('input,select,span').each(function() { 
      if (this.type != "submit" && this.id != '') 
      { 
       if (oldVar[this.id] != getValue(this)) 
       { 
        $(this).effect('highlight', {color: '#44EE22'}, 3000); 
        oldVar[this.id] = getValue(this); 
       } 
      } 
     }); 
    }); 
} 
function getValue(control){ 
    if ('value' in control) return control.value; 
    else if('textContent' in control) return control.textContent; 
    else if('innerText' in control) return control.innerText; 
} 
Questions connexes