2014-03-02 34 views
1

這就是我希望做的。目前我有一個特徵下拉列表,用戶可以從中選擇和搜索特定元素是否具有該特徵。他從下拉菜單中選擇一個特徵並單擊搜索按鈕。現在我正在嘗試製作這些特徵的鏈接列表,以便用戶可以立即點擊某個特徵。用多個鏈接代替下拉搜索菜單以提交表單

我有一對夫婦與|分離鏈接:

characteristic1_link | characteristic2_link | characteristic3_link 

目前的下拉搜索的工作,我有以下:

<%= form_for(@element, method: 'get', url: 'query') do |f| %> 
    <%= f.collection_select :characteristic_id, Characteristic.all, :id, :name, :include_blank => true %> 
    <%= f.submit "Search" %> 
<% end %> 

我試圖做到這一點與鏈接這我生成像這樣:

<% @characteristics.each do |characteristic| %> 
    <%= link_to (characteristic.name), '#' %> 
<% end %> 

我怎樣才能通過:characteristic_id帶鏈接的參數,並以某種方式使用戶點擊鏈接時觸發f.submit

編輯:

這似乎是工作:

<% @characteristics.each do |characteristic| %> 
    <%= link_to (characteristic.name), query_path(:element => {:characteristic_id => characteristic.id}) %> 
<% end %> 

意見有關此方法? :)

回答

0

如果我理解這樣的點擊和的link_to錨您的問題選擇具有相同名稱的錨標籤選項,並提交表單,那麼你可能要...

<%= link_to characteristic.name, '#', class: 'trigger_select' %> 

,讓你的JS完成剩下的工作。 (未經測試)

$('.trigger_select').click(function() { 
    var href = $(this).attr('href'); 
    $('#select_field').val(href); 
    $('#form').submit(); 
}); 

希望我正確理解你。

+0

是的,類似的東西。所以,如果我有20個鏈接,我需要生成20個表單? – user3304086

+0

不,實際上你還有1個表格和20個鏈接。每個鏈接點擊被JS重新分配,並執行選擇字段進行更改。 如果你只是想讓鏈接像表單一樣工作,那麼使用button_to而不是link_to,並設置它的樣式。 –