论坛首页 编程语言技术论坛

使用region_updater插件实现国家/地区二级联动下拉

浏览 2573 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-12-24   最后修改:2008-12-24
在项目中遇到了这个需求:用户注册时从下拉框中选择一个国家,然后联动,再选加一个下拉框中选择相应的省份地区。
之前没有在网上找找资料,直接自己干活,很是郁闷,所以的基础信息都是我一个人填进数据库的,发现自己很bc

今天我在github上面好好找了一下,发现了一个很好的解决方案。

region_updater插件
http://github.com/tolatomeow/region_updater/tree/master
另外,它依赖rails官方的country_select插件
http://github.com/rails/country_select/tree/master

将这两个插件从github上拉下来,将它放在插件目录中。

使用方法:

说明:对于users表中应该有country和region两个string类型的字段
==> Requirements
1) Ruby on Rails 2.1 (tested on version 2.1, may work with prior versions)
2) Prototype 1.6 javascript framework

执行script/generate region_updater命令,它的作用是将两个js放在public/javascripts目录下面

然后在/app/views/users/new.html.erb文件中或者模板文件中将js引进
<%= javascript_include_tag :all %>
然后在form_for的代码块中,加上
    <%= region_country_select( :user, :country) %>
    <%= region_update_label %>
    <%= region_update_select_tag( 'user[region]') %>


一切都搞定了,收工。

ps,这个插件可没有将全世界所有的国家的地区全都给你写出来,你可以进入/vendor/plugins/region_updater/generators/region_updater/countries目录,将default.yaml复制一份,命名为custom.yaml,然后自己填写国家和地区信息,然后再执行script/generate region_updater命令,即可。

为防止,插件有更新和变动之类的,我将目前可以正常使用的这两个插件打包,发上来,在附件中。
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics