我的视图中有两个选择标签。
<%= select("cod_resource", "description_resource", Resource.all.collect {|p| [ p.description_resource, p.cod_resource] }) %>
<%= select("cod_damage", "description_damage", Damage.find_all_by_cod_resource_id(0).collect {|p| [ p.description_damage, p.cod_damage] }) %>
当用户选择第一个项目标签中的值时,我想更新第二个项目标签中的值。
我在这种模式下编辑我的代码:
<select id="resource" data-theme="c" onchange="changeValue(this)">
<%= Resource.find(:all).each do |r| %>
<option value="<%= r.cod_resource %>">
<%= r.description_resource %>
</option>
<% end %>
</select>
<select id="damage" data-theme="c">
<%= Damage.find_all_by_cod_resource_id(1).each do |r| %>
<option value="<%= r.cod_damage %>">
<%= r.description_damage %>
</option>
<% end %>
</select>
我在 application.html.erb 中添加了这个脚本:
function changeValue(obj){
$("#damage").append("<option>Hello</option>");
}
它工作,但如果我在这种模式下编辑
function changeValue(obj){
<%= Damage.find_all_by_cod_resource_id(1).each do |r| %>
$("#damage").append(" <option value='<%= r.cod_damage %>''><%= r.description_damage %></option>");
<% end %>
}
它不起作用。