如何使用jquery/ajax显示下拉框的选定值
how to show selected value of dropdown into textbox using jquery/ajax
<% 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模型)映射到信用卡模型属性
这意味着当我选择特定的选项时,那么state, zip, city的值应该显示在下面的文本框中,并在提交后保存在credit_card模型中。
我使用的是rails 1.2.2和ruby 1.8.6
谢谢
在脚本中编写以下代码
function display() {
var val1 = ""
var val2 = ""
var e = ""
e = document.getElementById('display_id')
val1 = e.options[e.selectedIndex].textContent
val2 = val1.split(',')
document.getElementById('street').value = val2[0]
document.getElementById('city').value = val2[1]
document.getElementById('state').value = val2[2]
document.getElementById('zip').value = val2[3]
}
在代码后添加选择标签
<%= select_tag :id1, options_for_select([[ "Select Location", "" ]] + @job_extra_stops.collect{|s| ["#{s.st_name},#{s.city},#{s.state},#{s.zip}", s.st_name]}),:onchange => "display()", :id => 'display_id', :include_blank => 'Please add locations above' %>
相关文章:
- 我可以在Javascript/jQuery中使用一个变量作为键吗
- 如何在jquery中使用实时计算求和值
- 在jQuery中使用$('body').html('')意味着什么
- 在Jquery中使用变量作为对象名称
- 如何将while循环中生成的值存储到变量中,以便以后在JQuery中使用
- jquery无法使用无限滚动
- 将FormParams与Jersey和jQuery一起使用
- jQuery UI使用json文件自动完成
- SlideDown()不会'不能在jQuery中使用After()
- 在JQuery中使用谷歌地图Api事件/侦听器
- jQuery字符串使用split()方法在空格后拆分字符串
- 自动完成jquery;t使用ngmodel和ngrepeat(angular)
- 在jquery中使用css获取背景值
- jQuery idTabs-使用鼠标悬停自动更改和淡入淡出
- Javascript:在jQuery中使用xpath
- jQuery 无法使用 AJAX 调用访问函数内部的函数参数
- 在 for 循环 jQuery 中使用 one()
- Jquery/Javascript使用IF/ELSE语句更改img SRC
- jQuery动态使用.append()添加输入,但发布表单不是追加数据
- 存储数据的最佳方式是什么,以便与jquery一起使用