我有countries, states & cities
带有模型的数据库Country, State & City
。
目前的协会:
class Country < ActiveRecord::Base
has_many :states
end
class State < ActiveRecord::Base
belongs_to :country
has_many :cities
end
class City < ActiveRecord::Base
belongs_to :state
end
目前,我使用此 jQuery 仅显示基于所选国家/地区的状态,但它仍会加载 select[options] 中的所有状态,这会减慢页面加载速度。
- jQuery ->
states = $('#q_state_id_eq').html()
update_states = ->
country = $('#q_country_id_eq :selected').text()
options = $(states).filter("optgroup[label=#{country}]").html()
if options
$('#q_state_id_eq').html(options)
# Add in a blank option at the top
$('#q_state_id_eq').prepend("<option value=''></option>")
# Ensure that the blank option is selected
$('#q_state_id_eq option:first').attr("selected", "selected");
else
$('#q_state_id_eq').empty()
$('#q_country_id_eq').change ->
update_states()
update_states()
在我的表单中(我正在使用 Simple_form_for ),如何添加collection_select/select forcountries, states & cities
和ONLY LOAD,选择国家时的状态和选择状态时的加载城市?
PS:加载的州和城市需要根据选择的是哪个国家和州。
我正在寻找什么宝石或 Ajax 解决方案? (其他解决方案也值得赞赏)