2009-08-17 5 views
1

J'ai un ListView binded à un GenericList et pour chaque élément, il crée ce tr et la structure td:Afficher/Masquer Divs dans un ListView

<tr> 
    <td>Name</td> 
    <td>Surname</td> 
    <td>14/08/2009</td> 
    <td><a href="#" class="trigger">Show</a></td> 
</tr> 
<tr> 
    <td colspan="4"> 
     <div class="showPicture"> 
     <img src="" alt="" /> 
     </div> 
    </td> 
</tr> 

Ma question est que je voudrais montrer et cacher la div contenant l'image sans utiliser de publication sur le serveur. Ce que j'essaie de faire est d'obtenir le lien qui a été cliqué, trouver son parent td et le parent tr, naviguer vers le tr suivant et trouver la div à l'intérieur.

Je suis venu avec le JavaScript suivant pour essayer d'obtenir le div correct et l'afficher ou le masquer mais il me donne l'erreur suivante: "erreur d'exécution Microsoft JScript: 'parents (...). ..). nextSibling.firstChild » est nulle ou non un objet »

<script type="text/javascript"> 
    $(function(){ 
     $("div.shareLink").hide(); 
     $("a.trigger").click(function(eventObject){ 
      $(this).parents('td').parents('tr').nextSibling.firstChild.firstChild.toggle(400); 
      return false; 
     }); 
    }); 
    </script> 

Je suis nouveau Javascript et vient de changer commencé à développer dans ASP.NET comme je l'ai utilisé pour développer des applications Windows avant, donc si quelqu'un pouvait donnez-moi la tête sur ce que je fais mal, je l'apprécierais vraiment.

Merci à l'avance, Tonio

+0

J'ai oublié de changer le nom de la classe pour la div cible dans le code JavaScript. Je devrais être $ ("div.showPicture"). Hide(); –

Répondre

0

essayez ceci:

$(this).parent().parent().next().find('div.showPicture').toggle(); 
+0

Merci beaucoup! ce code a fait l'affaire;) –

+0

Vous êtes les bienvenus !! – krishna

+0

Si ce code a fait l'affaire vous pourriez accepter ceci comme réponse, et peut-être voter jusqu'à ... –