javascript - 城邦红宝石宝石javascript不工作
问题描述
我正在使用城市状态 gem(https://github.com/loureirorg/city-state)并尝试制作一个选择一个状态的表单,然后根据所选状态使用javascript动态更新城市,但它不工作.
我的html表单是:
<select id="states-of-country" name="project[state]">
<option id="no-state" value="" selected>Select Your State</option>
<% CS.states(:us).each do |key, value| %>
<option value="<%= value %>" id="<%= key %>"><%= value %></option>
<% end %>
</select>
<select id="cities-of-state" name="project[city]" class="form-control form-control-small" required>
<option value="" selected>Select Your City</option>
</select>
javascript是:
$(document).on('change', '#states-of-country', function(e) {
var cities_of_state, input_state, state;
input_state = $(this);
cities_of_state = $('#cities-of-state');
state = this.options[e.target.selectedIndex].id;
if (state === 'no-state') {
return cities_of_state.html('');
} else {
$.ajax({
url: '/cities/' + $(this).children(':selected').attr('id'),
success: function(data) {
var opt;
opt = '<option value="" selected>Select Your City</option>';
if (data.length === 0) {} else {
data.forEach(function(i) {
opt += '<option value="' + i + '">' + i + '</option>';
});
cities_of_state.html(opt);
}
}
});
}
});
解决方案
推荐阅读
- javascript - 谷歌分析拦截所有请求
- javascript - 如何在 ES6 中复制对象方法
- matlab - 分析存储在 csv 中的天气数据
- android - 用户在firebase中不存在?
- php - 如何从 jquery-ajax formData 获取数组值到 php
- python - 我想在我的数据最大值中找到一些列不是 1
- java - 在 java 文件中启用 IndentGuide Eclipse 插件
- docker - 在 docker-compose 中创建一个全局变量 od“extra_hosts”
- angular - 从用户角度看 Angular 服务生命周期
- reactjs - 无法运行反应项目