2012-03-05 32 views
1

我使用在局部一个导轨下面的代码在一个手风琴元件头部的扩张到一个控制器的动作发出呼叫:如何防止jQueryUI的从抑制HTTP调用以手风琴元件头

<a> <%= link_to candidate[:title], :controller => :books, :controller=> :confirm_details, :remote => :true, :candidate => candidate %></a> 

<div id=<%= candidate[:asin].to_s %>> 
</div> 

这部分需要一个候选集合,并创建一个带有作为手风琴部分标题的锚点的手风琴小部件,每个这样的标题的href指向书籍控制器操作get_details。它还会生成一个div,该候选ID具有唯一的id,因为它是id属性。

get_details操作设置为根据该id号获取相应的div,并使用从控制器操作中提取的数据填充其html。

问题是,单击锚标签应扩大手风琴和调用控制器,但没有生成http请求。 Jquery的默认行为是抑制来自这些元素的调用吗?我应该使用不同的策略吗?我最初的想法是,这是最好的方法,因为它可以让我使用rails的传统ajax功能100%。

在此先感谢。

回答

0

你可以做的是将这些锚点上的点击事件委托给手风琴元素,并做任何你需要的东西将呼叫发送到控制器

$("#accordion") 
    .accordion() 
    .on('click', 'h3 > a', function() { 
     console.log(this.href); 
    });​ 

DEMO

:该处理器将伴随着手风琴的默认的点击处理程序执行