ruby-on-rails
2013-08-28 36 views 2 likes 
2

我有一個帶有一些輸入字段的表單。其中一個用於搜索用戶需要選擇的元素,並將該選定元素包含到表單中。我試着用下面的代碼與無礙Ajax來做到這一點:將表單元素傳遞給link_to函數

<td><%= link_to 'Search', select_customer_path(:search_customer), :remote => true, 
:submit=>"search_customer", :with => "'id='+ $('search_customer_').value" %></td> 

我不知道或是否有可能在search_customer場傳遞給函數的link_to做搜索過程。 接下來是完整的表單代碼。

<%= form_for @doc, url: docs_path, :remote => true do |f| %> 

<div class="row"> 
<div class="col-lg-8"> 
    <div class="well doc_form"> 
     <div class="field"> 
      <%= f.label :doc_date , :class => 'control-label'%> 
      <%= f.label Time.now.to_formatted_s(:short), :class => 'form-control' %> 
     </div> 
     <table> 
      <tr> 
       <td> <%= f.label :search_customer, "Customer Search:" %> </td> 
       <td> <%= text_field :search_customer, "" %> </td> 
       <td><%= link_to 'Search', select_customer_path(:search_customer), :remote => true, :submit=>"search_customer", :with => "'id='+ $('search_customer_').value" %></td> 
      </tr> 
     </table> 
     <div> 
      <div id="founded_customer" style="height: 200px; width: 350px;overflow: auto"></div> 
     </div> 
     <div class="field"> 
      <%= f.label "Selected Customer" , :class => 'control-label'%> 
      <div id="selected_customer" class="selected_customer"> 
       <%= f.hidden_field :customer, :value =>@doc.customer %> 
      </div> 
     </div> 
     <div class="field"> 
      <%= f.label :price , :class => 'control-label'%> 
      <%= f.number_field :price , :class => 'form-control'%> 
     </div> 
     <div class="field"> 
      <%= f.submit 'Save', :class => 'btn btn-primary' %> 
     </div> 
    </div> 
</div> 
</div> 
<% end %> 

感謝的

+0

難道我的回答幫助呢? – MrYoshiji

回答

0

試試這個:

<%= link_to 'Search', select_customer_path(:search_customer), :onclick => "ajax_search($(this))" %> 

<%= javascript_tag do %> 
    window.ajax_search = function(link_to) { 
    $(this).preventDefault(); 
    var url_to_go = $(this).attr('href'); 
    var search_value = $('#search_customer').val(); 
    if(url_to_go.indexOf('?') > -1) { 
     url_to_go += '&search=' + search_value; 
    } else { 
     url_to_go += '?search=' + search_value; 
    } 
    $.ajax(url_to_go, success: function(data) { 
     # handle here the success response 
    }) 
    } 
<% end %> 
相關問題