Jquery 如何在rails中使div id变为变量?
我觉得应该有一个简单的方法来做到这一点,但我只是不知道它是什么。我有一个要显示的数据列表,我想包括一个AJAX“readmore”函数来扩展每个段底部的信息。要做到这一点,我需要在每个段中使用唯一的div id。我有以下代码:Jquery 如何在rails中使div id变为变量?,jquery,ruby-on-rails,css,ajax,prototypejs,Jquery,Ruby On Rails,Css,Ajax,Prototypejs,我觉得应该有一个简单的方法来做到这一点,但我只是不知道它是什么。我有一个要显示的数据列表,我想包括一个AJAX“readmore”函数来扩展每个段底部的信息。要做到这一点,我需要在每个段中使用唯一的div id。我有以下代码: <% for choice in @student_choices %> <div id= "student_description", style="display:none;"> <%= choice[:descr
<% for choice in @student_choices %>
<div id= "student_description", style="display:none;">
<%= choice[:description]%>
</div>
<%= link_to_function "Read More", "Element.show("student_description")"%>
<% end %>
但由于存在多个div id,因此单击“readmore”仅显示第一个div id。如何插入变量div ID?我知道如何在PHP中实现这一点,但这让我感到困惑。即使我们将div ID本身设置为变量,如何让Element.show接受变量?您可以执行以下操作:
<% div_id = "student_description_#{choice.id}" -%>
<div id="<%= div_id -%>", style="display:none;">
<%= choice.description %>
</div>
<%= link_to_function "Read More", "Element.show('##{div_id}')" %>
您可以执行以下操作:
<% div_id = "student_description_#{choice.id}" -%>
<div id="<%= div_id -%>", style="display:none;">
<%= choice.description %>
</div>
<%= link_to_function "Read More", "Element.show('##{div_id}')" %>
传统的rails方法是使用 然后你可以做类似的事情
<% for choice in @student_choices %>
<div id="<%= dom_id(choice) %>" style="display:none;">
<%= choice[:description]%>
</div>
<%= link_to_function "Read More", "Element.show('#{dom_id(choice)}')"%>
<% end %>
传统的rails方法是使用 然后你可以做类似的事情
<% for choice in @student_choices %>
<div id="<%= dom_id(choice) %>" style="display:none;">
<%= choice[:description]%>
</div>
<%= link_to_function "Read More", "Element.show('#{dom_id(choice)}')"%>
<% end %>
虽然您可以使用给定的示例(哪种方法有效),但我是否建议您使用rails函数(http://api.rubyonrails.org/classes/ActionView/Helpers/RecordTagHelper.html ). 然后,在按钮/链接上,您只需找到最近的具有特定类的div,然后拉取id并执行显示逻辑。同时您可以使用给定的示例(哪种工作方式),我建议您使用rails函数(http://api.rubyonrails.org/classes/ActionView/Helpers/RecordTagHelper.html ). 然后,在按钮/链接上,您只需找到最近的具有特定类的div,然后提取id并执行显示逻辑。您的引号不匹配,双引号内不能有双引号您的引号不匹配,双引号内不能有双引号Wesome。我知道你在这里做什么,但它不喜欢中的语法,抛出“unterminatedstring遇到文件末尾”。这就是我无法让它接受变量的原因。已编辑。因为你已经在Ruby中的link_to_函数参数中了,所以不需要再做一个块,只需要基本的插值就可以了。啊,明白了。只要你从###{div_id}中取第一个#,这就行了。谢谢你能解释一下如何从jquery中访问这个变量吗?太棒了。我知道你在这里做什么,但它不喜欢中的语法,抛出“unterminatedstring遇到文件末尾”。这就是我无法让它接受变量的原因。已编辑。因为你已经在Ruby中的link_to_函数参数中了,所以不需要再做一个块,只需要基本的插值就可以了。啊,明白了。只要你从###{div_id}中取第一个#,这就行了。谢谢您能解释一下如何从jquery访问该变量吗?