2009-11-23 4 views
0

Panneau de mise à jour, publication et jQuery. Cela ressemble à une mauvaise blague, mais voici ma situation.Panneau de mise à jour, publication et jQuery

J'ai deux grilles enveloppées dans un panneau de mise à jour MS. Les grilles comportent des boutons qui provoquent des événements de publication. sous une grille est une div qui est cachée par une fonction jQuery. Et dans une grille est un lien hypertexte qui peut provoquer ce div caché pour montrer. À l'intérieur du div caché est un bouton asp: utilisé pour une autre publication.

C'est maintenant que je rencontre un problème. Lorsque je clique sur l'un des boutons à l'intérieur des grilles, mon div qui est masqué par jQuery affiche . Je ne veux pas que ça apparaisse. En fait, il devrait rester caché jusqu'à J'appelle la méthode pour le faire apparaître. L'événement clic de lien hypertexte pour le div fonctionne, c'est juste que sur un postback, les div divisés . Quelqu'un sait ce qui pourrait causer cela? Suis-je manquer quelque chose sur la publication ou ai-je besoin de plus dans la section document.ready de la jquery . Ou est le panneau de mise à jour MS ajax vissage avec des choses.

Voici un extrait du jQuery pour cacher la div:

$(document).ready(function() { 
    $("#actionDiv").hide();     
}); 

Répondre

2

$ (document) .ready() ne se déclenche pas après un panneau AJAX MS est mis à jour Si vous pouvez régler le css sur actionDiv. avant que cela ne passe au navigateur qui serait mieux pour ce problème

+0

+1 il n'y a pas besoin de cacher la div dans le document prêt, il suffit de le cacher par défaut avec CSS, puis montrer avec jQuery si nécessaire (si le bouton est cliqué) –

+0

Pourquoi je n'y ai pas pensé? Probablement trop accroché dans le code. – Chris

0

$ (document) .ready (function() n'est appelée une seule fois Vous faites un postback partiel de sorte que vous devez définir le. $ ("# actionDiv") cacher();.. à chaque fois

<script language="javascript" type="text/javascript"> 
    function AfterPostBackInit() { $("#actionDiv").hide(); } 

    // Run AfterPostBackInit() when the page loads and after every post-back. 
    Sys.Application.add_load(AfterPostBackInit); 
</script> 
Questions connexes