我尝试使用动态选择菜单。 但是,ajax不起作用。请帮我。 所以,我在/app/views/compares/show.hmtl.erb上写了这些代码。
<script type="text/javascript">
function changeMaker(){
var select = document.getElementById('maker');
var options = document.getElementById('maker').options;
var value = options.item(select.selectedIndex).value;
$.ajax({
url: "/compares/change_select",
type: "GET",
data: '&maker=' + value
})
}
function changeModel(){
var select = document.getElementById('model');
var options = document.getElementById('model').options;
var value = options.item(select.selectedIndex).value;
$.ajax({
url: "/compares/change_select",
type: "GET",
data: '&model=' + value
})
}
</script>
<%= form_for(@compare,url:{controller: :compares,action: :searching}) do |f| %>
<p>
<label for="maker">Maker:</label>
<%= collection_select :car,:maker, Car.all,:maker,:maker,{prompt:"Maker"},{onchange:"changeMaker();"} %>
</p>
<p id="classList">
<label for="model">Model:</label>
<%= render :partial => 'classList_body' %>
</P>
<%= f.submit "yo",class:"btn" %>
<% end %>
并在同一个目录中写了一些代码。作为&#34; _classList_body.html&#34;。
<p><%= @models %></p>
<p><%= @makers %></p>
<%= collection_select :car,:model,@models,:model,:model,{prompt:"Model"},{onchange:"changeModel()"} %>
并且还编写了这段代码。这也是在同一目录下。
$("#classList").html("<%= escape_javascript(render 'classList_body', :models => @models, :makers => @makers) %>");