Javascript RubyonRails中的动态下拉选择菜单
我试图在RubyonRails中实现一个动态下拉菜单,显示州和相应的城市 我收到了这个错误(在Javascript RubyonRails中的动态下拉选择菜单,javascript,ruby-on-rails,Javascript,Ruby On Rails,我试图在RubyonRails中实现一个动态下拉菜单,显示州和相应的城市 我收到了这个错误(在/home/yash/socialnw20/app/assets/javascripts/dynamic_cities.js.erb中): Javascript文件: var cities = new Array(); <% for city in @cities do %> cities.push(new Array(<%= city.states_id %>, '<
/home/yash/socialnw20/app/assets/javascripts/dynamic_cities.js.erb
中):
Javascript文件:
var cities = new Array();
<% for city in @cities do %>
cities.push(new Array(<%= city.states_id %>, '<%=h city.name %>', <%= city.id %>));
<% end %>
function stateSelected() {
states.id = $('states.id').getValue();
options = $('city.id').options;
options.length = 1;
cities.ready(function(city) {
if (city[0] == states.id) {
options[options.length] = new Option(city[1], city[2]);
}
});
if (options.length == 1) {
$('city.field').hide();
}
else {
$('city.field').show();
}
}
document.observe('dom:loaded', function() {
$('city.field').hide();
$('states.id').observe('change', stateSelected);
});
var cities=new Array();
城市。推送(新数组(,'',);
函数stateSelected(){
states.id=$('states.id').getValue();
选项=$('city.id')。选项;
选项1.length=1;
城市。就绪(功能(城市){
if(城市[0]==州id){
选项[options.length]=新选项(城市[1],城市[2]);
}
});
如果(options.length==1){
$('city.field').hide();
}
否则{
$('city.field').show();
}
}
document.observe('dom:loaded',function()){
$('city.field').hide();
$('states.id')。观察('change',stateSelected);
});
如何定义控制器?该错误是因为您的@cities its empty.class JavascriptsControllervar cities = new Array();
<% for city in @cities do %>
cities.push(new Array(<%= city.states_id %>, '<%=h city.name %>', <%= city.id %>));
<% end %>
function stateSelected() {
states.id = $('states.id').getValue();
options = $('city.id').options;
options.length = 1;
cities.ready(function(city) {
if (city[0] == states.id) {
options[options.length] = new Option(city[1], city[2]);
}
});
if (options.length == 1) {
$('city.field').hide();
}
else {
$('city.field').show();
}
}
document.observe('dom:loaded', function() {
$('city.field').hide();
$('states.id').observe('change', stateSelected);
});