我正在铁轨上使用红宝石进行定期存款项目。在_form中,如果我从句点中选择一些值,它应该自动显示rate_of_interest的文本框值。我尝试了一些JavaScript,但它不起作用。这是我的代码。
_form.html.erb
内部脚本标记<>
var roivalues = {
'12 Months': 9.5,
'24 Months': 10,
'36 Months': 10.5,
'48 Months': 11,
'60 Months': 11.5
};
var form = document.getElementById('roidetails');
form.elements.noy.onchange = function ()
{
var form = this.form;
form.elements.roi.value = roivalues[this.value];
};
<%= form_for @fd, :html => {:id => "roidetails"} do |f| %>
<% if @fd.errors.any? %>
<h4>Couldn't open FD Account</h4>
<ul>
<% @fd.errors.full_messages.each do |error| %>
<li><%= error %></li>
<% end %>
</ul>
<% end %>
<%= f.label :Period %>
<%= f.select :noy, options_for_select(%w[12months 24months 36months 48months 60months]), { :include_blank => true}, :onchange => 'setroi(document.Form, this.value);' %>
<%= f.label :Rate_of_interest %><span class="help-block">auto-generated</span>
<%= f.text_field :roi, :id => 'roi', :disabled => true %>
</div>
<%= f.submit "Open FD", class: "btn btn-primary" %>
<% end %>
</div>
</div>
我不知道为什么javascript无效。
请提出一些想法让我离开。
...谢谢
答案 0 :(得分:0)
尝试替换此
var roivalues = {
'12 Months': 9.5,
'24 Months': 10,
'36 Months': 10.5,
'48 Months': 11,
'60 Months': 11.5
};
用这个
var roivalues = {
'12months': 9.5,
'24months': 10,
'36months': 10.5,
'48months': 11,
'60months': 11.5
};
答案 1 :(得分:0)
请替换您的JavaScript
form.elements.noy.onchange
到
form.elements.fd_noy.onchange
和@Sandeeproop建议的var roivalues
这是解决方案。
var roivalues = {
'12months': 9.5,
'24months': 10,
'36months': 10.5,
'48months': 11,
'60months': 11.5
};
var form = document.getElementById('roidetails');
form.elements.fd_noy.onchange = function ()
{
var form = this.form;
form.elements.roi.value = roivalues[this.value];
};
答案 2 :(得分:0)
上面的javascript对我不起作用所以我选择以下网站,这完全符合我的要求。谢谢Sandeeproop先生和Sanket先生的支持。 http://www.codingforums.com/general-web-building/178397-change-text-box-value-based-drop-down-value-selected.html