2010-12-17 3 views
0

Comment puis-je passer un identifiant utilisateur unique "expression erb" en fonction jquery.unique ROR ID utilisateur expression erb reconnu dans Jquery

i.e.

Ce

<div id="expand_<%= user.id %>"><%= image_tag user.avatar.url(:medium), :class => "expand round fluid" %></div> 
    <div id="collapse_<%= user.id %>" class="collapse"><%= user.bio %></div> 

dans ce

<script type="text/javascript"> 
    $(document).ready(function() { 
     // Hide the "view" div. 
     $('div.collapse').hide(); 
     // Watch for clicks on the "slide" link. 
     $('div#expand_' + user.id).click(function() { 
     // When clicked, toggle the "view" div. 
     $('div#collapse_' + user.id).slideToggle(100); 
     return false; 
    }); 
    }); 
</script> 

Merci, beaucoup apprécié.

Répondre

1

Vous ne « passer dans ». La valeur est présente sur la page dans un attribut HTML. Vous avez juste besoin d'extraire cette valeur en utilisant Javascript.

Mais, plus important encore, vous ne même pas besoin d'extraire cette valeur. Tout ce que vous essayez de faire est « slideToggle la div immédiatement après une div, avec un identifiant commençant par « expand_ », quand ce div est cliqué ». Qui, lorsqu'il est traduit en jQuery, est:

<script type="text/javascript"> 
    $(document).ready(function() { 
     // Hide the "view" div. 
     $('div.collapse').hide(); 
     // Watch for clicks on the "slide" link. 
     $('div[id^=expand_').click(function() { 
      // When clicked, toggle the "view" div. 
      $(this).next('.collapse').slideToggle(100); 
      return false; 
     }); 
    }); 
</script> 
+0

Yep mettre cela et cela a fonctionné mrharrison