2012-03-05 20 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

:該處理器將伴隨着手風琴的默認的點擊處理程序執行