Show and hide from list with toggle


#1

I have a list in my page and I want to show there additional information
like:

my link

  • show me more
    my 2 link
  • show me more
    etc…

I have a element for hidden info:

<%= link.long %>

How can I pass a link id with something like this:

  <%= link_to_function "+", "link_long_id".toggle(), :style =>

‘text-decoration:none’ %>
This does not work.

Thank you!


#2

On Apr 18, 5:10 pm, Marika A. removed_email_address@domain.invalid
wrote:

<%= link.long %>

How can I pass a link id with something like this:

  <%= link_to_function "+", "link_long_id".toggle(), :style =>

‘text-decoration:none’ %>

well assuming the link had id 23, the javascript you’d want to
generate would be $(‘link_long_23’).toggle() - just build up that
string, using the usual string interpolation stuff for example

Fred


#3

Frederick C. wrote:

On Apr 18, 5:10�pm, Marika A. removed_email_address@domain.invalid
wrote:

<%= link.long %>

How can I pass a link id with something like this:

� � � <%= link_to_function “+”, “link_long_id”.toggle(), :style =>
‘text-decoration:none’ %>

well assuming the link had id 23, the javascript you’d want to
generate would be $(‘link_long_23’).toggle() - just build up that
string, using the usual string interpolation stuff for example

Fred

Yes, but how can I pass link_long_id instead of giving the link_long_23?
I can’t get that working :frowning:


#4

On Apr 18, 8:03 pm, Marika A. removed_email_address@domain.invalid
wrote:

‘text-decoration:none’ %>

well assuming the link had id 23, the javascript you’d want to
generate would be $(‘link_long_23’).toggle() - just build up that
string, using the usual string interpolation stuff for example

Fred

Yes, but how can I pass link_long_id instead of giving the link_long_23?
I can’t get that working :frowning:

Like I said, string interpolation:

greeting = “world”
puts “hello #{greeting}”

Fred


#5

Frederick C. wrote:

On Apr 18, 8:03�pm, Marika A. removed_email_address@domain.invalid
wrote:

‘text-decoration:none’ %>

well assuming the link had id 23, the javascript you’d want to
generate would be $(‘link_long_23’).toggle() - just build up that
string, using the usual string interpolation stuff for example

Fred

Yes, but how can I pass link_long_id instead of giving the link_long_23?
I can’t get that working :frowning:

Like I said, string interpolation:

greeting = “world”
puts “hello #{greeting}”

Fred

Thank you Fred for your answer, but unfortunately that doesn’t work. I
get an error:
‘undefined method `toggle’ for “link_long_23”:String’
So it gets the id correctly, problem is the toggle? I’m quite new with
all this, so I’m sorry if I ask stupid questions :wink:


#6

On Apr 19, 11:07 am, Marika A. removed_email_address@domain.invalid
wrote:

Frederick C. wrote:

Thanks again :slight_smile: I don’t really know how I am supposed to do that :frowning: I’m
doing:
<% linkki = (‘link_long_’+link.id.to_s).toggle %>

If you do that you’re trying to call a ruby function called toggle.
What you want to do is generate a javascript fragment that calls a
toggle function, so .toggle() needs to be inside the string that you
generate, not outside as it is here.

Fred


#7

Frederick C. wrote:

On Apr 19, 10:14�am, Marika A. removed_email_address@domain.invalid
wrote:

Thank you Fred for your answer, but unfortunately that doesn’t work. I
get an error:
‘undefined method `toggle’ for “link_long_23”:String’
So it gets the id correctly, problem is the toggle? I’m quite new with
all this, so I’m sorry if I ask stupid questions :wink:

that sounds like you’re still doing something like

link_to_function ,‘blah’, “$(‘something’)”.toggle

That’s not what you want to do. you want to create the string “$
(‘something’).toggle” and pass that as the second argument to
link_to_function (that second argument should be a fragment of
javascript).

Fred

Thanks again :slight_smile: I don’t really know how I am supposed to do that :frowning: I’m
doing:
<% linkki = (‘link_long_’+link.id.to_s).toggle %>
<%= link_to_function “+”, linkki, :style => ‘text-decoration:none’ %>


#8

<%= link_to_function “+”, “$(‘link_long_id’).toggle()”, :style
=> ‘text-decoration:none’ %>

On Sun, Apr 19, 2009 at 12:10 AM, Marika A. <
removed_email_address@domain.invalid> wrote:

I have a element for hidden info:
Thank you!

Posted via http://www.ruby-forum.com/.


Yes! I’m HeChian :slight_smile:

http://hechian36.pixnet.net/blog


#9

On Apr 19, 10:14 am, Marika A. removed_email_address@domain.invalid
wrote:

Thank you Fred for your answer, but unfortunately that doesn’t work. I
get an error:
‘undefined method `toggle’ for “link_long_23”:String’
So it gets the id correctly, problem is the toggle? I’m quite new with
all this, so I’m sorry if I ask stupid questions :wink:

that sounds like you’re still doing something like

link_to_function ,‘blah’, “$(‘something’)”.toggle

That’s not what you want to do. you want to create the string “$
(‘something’).toggle” and pass that as the second argument to
link_to_function (that second argument should be a fragment of
javascript).

Fred


#10

try

link_to_function “+”, “Effect.toggle (’$(‘something’)’, ‘slide’);”

this should, if it works, throw in a nice sliding effect for u too…

On Apr 19, 4:05 pm, Frederick C. removed_email_address@domain.invalid