1
<% form_for :credit_card, @cc, :url => '/credit_cards', :method => :post do |f| %>
<%= f.hidden_field "job_id", :value => params[:job_type_id] %>
<%= f.hidden_field "job_type", :value => "Job Hourly" %>
<%= f.hidden_field "lead_id", :value => @job.lead_id %>
<center><strong>ADD New Credit Card</strong> </center>
<br/>
<table align="left">
<tr>
<td> <label style="padding-left: 30px;">Type</label></td>
<td><%= f.select(:card_type, CreditCard::TYPES, {:prompt => "Select Type", :selected => ""}) %></td>
</tr>
<tr>
<td> <label style="padding-left: 30px;">Number</label></td>
<td><%= f.text_field "card_number", "size" => 16, 'maxlength' => 16%></td>
</tr>
<tr>
<td> <label style="padding-left: 30px;">Expiry</label></td>
<td> <select id="cc_state" name="credit_card[expiration_month]">
<%= options_for_select([[ "Select Month", "" ]] + CreditCard::MONTHS)%>
</select>
<select id="cc_state" name="credit_card[expiration_year]">
<%= options_for_select([[ "Select Year", "" ]] + ((Date.today.year - 5)..(Date.today.year + 12)).collect{|x| [x,x]}.reverse)%>
</select>
</td>
</td>
</tr>
<tr>
<td> <label style="padding-left: 30px;">CVV</label></td>
<td><%= f.text_field "security_code", "size" => 4, 'maxlength' => 4%></td>
</tr>
<tr>
<td> <label style="padding-left: 30px;">Expiry</label></td>
<td> <select id="cc_state" name="credit_card[expiration_year]">
<%= options_for_select([[ "Select Year", "" ]] + ((Date.today.year - 5)..(Date.today.year + 12)).collect{|x| [x,x]}.reverse)%>
</select>
</td>
</tr>
<tr>
<td> <label style="padding-left: 30px;">Location</label></td>
<td><%= f.select(:id, @job_extra_stops.collect{|s| ["#{s.city},#{s.zip},#{s.state}", s.id]},:onchange => "display_dropdown(this)",:id => "dropdown_id", :prompt => "Select Location")%> </td>
</tr>
<tr><td> <label style="padding-left: 30px;">Street</label></td>
<td><%= f.text_field "billing_street_address", "size" => 20 %></td></tr>
<tr><td> <label style="padding-left: 30px;">City</label></td>
<td><%= f.text_field "billing_city", "size" => 20 %></td></tr>
<tr><td> <label style="padding-left: 30px;">State</label></td>
<td><select id="cc_state" name="credit_card[billing_state]">
<%= options_for_select([[ "Select State", "" ]] + State::NAMES)%>
</select></tr>
<tr><td> <label style="padding-left: 30px;">Zip</label></td>
<td><%= f.text_field :billing_zip, "size" => 12 %></td></tr>
<tr>
<td colspan="2" align="center"><%= submit_tag 'Save' %></td>
</tr>
這是視圖文件中的代碼。目前信用卡模型屬性是在表單中手動輸入然後保存的。但不是手動輸入,我想導入已存在於job_extra_stop模型中的那些屬性值。當從下拉列表中選擇該選項時,我想將下拉列表中的這些值(從job_extra_stop模型)映射到信用卡模型屬性如何使用jQuery/ajax顯示文本框中選定的下拉列表值
這意味着當我選擇特定選項時,狀態,zip,城市的值應顯示在下面在提交後保存在信用卡模型中。
我使用的鐵軌1.2.2和1.8.6的紅寶石
感謝
這可能會有所幫助http://apidock.com/rails/ActionView/Helpers/FormTagHelper/select_tag#1375-Using-an-unobtrusive-Ajax-UJS-onch ange-call-the-controller-action – AJcodez 2013-04-23 07:08:25