完美实现中国省市区ajax三级联动.
一,下载MYSQL的数据库表
,分别有三个province city area,
二,在helpers当中加入一个方法,取出全国省:
def get_area_select_options
Province.find(:all,:order=>'province').collect{|item|[item.province,item.provinceid]}.insert(0,["请选择..",nil])
end
三,在views当中,比如new的form当中需要加入如下语句:
<p><label for="friend_level2_provice_id">所在城市</label><br/>
<%= select("friend_level2", "provice_id", get_area_select_options, {}, { "onchange" => remote_function(
:with => "'parent_id='+value",
:update => 'next_select',
:complete => "Element.hide('county_select')",
:url => { :action => :select_with_ajax } ) })%>
<span id='next_select'>
</span>
<span id='county_select'> </span>
<br/>
</p>
四,分别在对应的controllers当中加入如下语句:
def select_with_ajax
@citys = [["请选择",""]]+City.find(:all, :conditions => ["fatherid = ?", params[:parent_id]]).collect { |item| [item.city, item.cityid] }
render(:layout => false)
end
def select_with_ajax1
@areas = Area.find(:all, :conditions => ["fatherid = ?", params[:parent_id]]).collect { |item| [item.area, item.areaid] }
render(:layout => false)
end
五,在views创建两个rhtml分别是:select_with_ajax,代码如下:
<%= select("friend_level2", "city_id", @citys, {}, { "onchange" => remote_function(
:with => "'parent_id='+value",
:update => 'county_select',
:complete => "Element.show('county_select')",
:url => { :action => :select_with_ajax1 } ) })%>
另外一个是select_with_ajax1,代码如下:
<%= select("friend_level2", "area_id", @areas) %>
六,我目的表结构是:
CREATE TABLE `friend_level2s` (
`id` int(10) unsigned NOT NULL auto_increment,
`provice_id` int(11) default NULL,
`city_id` int(11) default NULL,
`area_id` int(11) default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
另外,如果有乱码请在application.rb当中加入如下语句:
before_filter :configure_charsets
def configure_charsets
@response.headers["Content-Type"] = "text/html; charset=utf-8"
# Set connection charset. MySQL 4.0 doesn’t support this so it
# will throw an error, MySQL 4.1 needs this
suppress(ActiveRecord::StatementInvalid) do
ActiveRecord::Base.connection.execute 'SET NAMES UTF8'
end
end
使用说明,完美实现了动态查询中国省市区的联动!呵呵,好好学习.
- diqu.rar (31.9 KB)
- 描述: 全国最全最新省市区sql
- 下载次数: 1005
分享到:
- 2008-07-11 11:21
- 浏览 3288
- 评论(9)
- 论坛回复 / 浏览 (7 / 12178)
- 查看更多
相关推荐
NULL 博文链接:https://lzqustc.iteye.com/blog/439128
Knock - 为Rails API实现无缝JWT身份验证
Ruby on Rails框架实现的无线点餐系统项目是一个基于无线网络技术,专为餐饮行业设计的综合性信息化解决方案。此系统利用Ruby on Rails全栈式MVC框架,结合当下先进的移动互联网技术,旨在提升餐厅运营效率、优化...
实例的源代码 博文链接:https://babo.iteye.com/blog/72298
基于ruby on rails框架实现的音乐推荐网站项目源码.zip基于ruby on rails框架实现的音乐推荐网站项目源码.zip基于ruby on rails框架实现的音乐推荐网站项目源码.zip基于ruby on rails框架实现的音乐推荐网站项目源码...
rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails 2.3.2离线安装rails ...
网站会根据用户评分歌曲的数据对用户进行歌曲推荐,其中包括基于用户相似度和物品相似度的推荐,实现技术包括hadoop和mapreduce算法优化k-近邻算法实现。 网站运行:首先需要有ruby解析器和搭建rails环境,然后进入...
《Ruby on Rails Tutorial》中文版(原书第2版,涵盖 Rails 4) Ruby 是一门很美的计算机语言,其设计原则就是“让编程人员快乐”。David Heinemeier Hansson 就是看重了这一点,才在开发 Rails 框架时选择了 Ruby...
《应用Rails进行敏捷Web开发》中文第三版,找了很久才找到,介绍的是rails2.2.2
adminlte-rails, AdminLTE Rails gem 将AdminLTE主题与 Rails 资产管道集成 AdminLTE Rails gem AdminLTE 是后端的高级 Bootstrap 主题。英镑 AdminLTE Rails gem 与 Rails 资产管道集成了英镑AdminLTE主题。安装将...
入门rails的第一个demo
《Rails之道》按照Rails的各个子系统进行组织编排,分别介绍了Rails的环境、初始过程、配置和日志记录,Rails的分配器、控制器、页面生成和路由,REST、资源和Rails,ActiveRecord的基础、关联、验证和高级技巧,...
Google Sign-In for Rails 实现将Google登录集成到您的Rails应用中
用rails实现的简单的简历系统,其中包括图片上传、验证码生成、数据查询、分页、日历、sort、邮件发送
Ruby on Rails Guides v2 - Ruby on Rails 4.2.5