我正在加载@products的集合,这些集合不断更改我实时计算的属性。我不想为初始页面索引上的所有@products执行所有计算。相反,我只想执行并显示悬停在图像上的计算结果。在Rails 3中使用JQuery进行动态显示
我首先创建了jQuery调用来显示一个弹出框,包含计算在产品的每一个产品/ index.html.erb这样的:
产品/ index.html.erb
<script type="text/javascript">
jQuery(function($){
<% @products.each do |product| %>
$('#calc_<%= product.id %>').hover(function() {
$('#pid_<%= product.id %>').show()
}, function() {
$('#pid_<%= product.id %>').hide()
});
<% end %>
});
</script>
<table class='list'>
<%= render :partial => "products/product", :collection => @products %>
</table>
我_product.html.erb:
<%= image_tag('/images/info.png', :id => "calc_#{product.id}") %>
<div class='pid_display' id='pid_<%=product.id %>'></div>
我的CSS:
.pid_display {
height: 80px;
width: 200px;
background-color: #eee;
display: none;
padding-top: 8px;
position: absolute;
}
我试图调用执行在这样的product.id计算的页面(虽然我不知道这是否是正确的):
jQuery.ajax("products/calculations/<%= product.id %>");
当我尝试将调用合并计算页面,所以它在弹出框中显示结果,都是火。换句话说,会出现一个弹出框,日志显示计算是从products_controller执行的。
如何结合这两个调用来显示弹出框内的计算结果?
保罗,我不知道这是如何帮助我执行计算**只有**时,将鼠标悬停在图像上,然后在该框中显示它们。你能澄清吗? – 2013-02-24 17:42:46