完美实现中国省市区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
- 浏览 3335
- 评论(9)
- 论坛回复 / 浏览 (7 / 12215)
- 查看更多
相关推荐
总的来说,通过以上步骤,我们可以在Rails应用中利用Ext.tree组件实现中国省市地区的三级联动选择功能。这涉及到后端数据模型的设计、数据库的导入、前端界面的开发以及Ajax请求的处理等多个方面,是一个完整的全栈...
### Rails 101 入门电子书知识点详解 #### 一、简介 《Rails 101 入门电子书》是一本非常适合初学者直接入门的书籍,它由xdite编写并出版于2014年6月10日。本书主要针对的是希望学习Ruby on Rails框架的读者,特别...
在描述中提到的"Knock"是一个专门为Rails API设计的库,它帮助开发者实现JSON Web Token(JWT)的身份验证,这是一种安全的身份验证机制,适用于无状态API。 JWT是一种轻量级的认证协议,它允许服务器向客户端发送...
Ruby on Rails框架实现的无线点餐系统项目是一个基于无线网络技术,专为餐饮行业设计的综合性信息化解决方案。此系统利用Ruby on Rails全栈式MVC框架,结合当下先进的移动互联网技术,旨在提升餐厅运营效率、优化...
基于ruby on rails框架实现的音乐推荐网站项目源码.zip基于ruby on rails框架实现的音乐推荐网站项目源码.zip基于ruby on rails框架实现的音乐推荐网站项目源码.zip基于ruby on rails框架实现的音乐推荐网站项目源码...
《应用Rails进行敏捷Web开发》中文第三版是针对Ruby on Rails框架的一本详尽指南,主要聚焦于Rails 2.2.2版本。Ruby on Rails(简称Rails)是一款基于Ruby编程语言的开源Web应用程序框架,它遵循“Don't Repeat ...
《Rails101_by_rails4.0》是一本专注于Rails 4.0.0版本和Ruby 2.0.0版本的自学教程书籍,它定位于中文读者,旨在成为学习Rails框架的参考教材。Rails(Ruby on Rails)是一个采用Ruby语言编写的开源Web应用框架,它...
实例的源代码 博文链接:https://babo.iteye.com/blog/72298
MVC是Rails的核心架构之一,这一章节将详细介绍这三个组件的作用和相互关系。模型负责与数据库交互,管理数据;视图用于展示数据给用户;控制器则处理用户请求,协调模型和视图之间的操作。了解并正确运用MVC模式是...
Ruby on Rails,通常简称为Rails,是一个基于Ruby编程语言的开源Web应用框架,遵循MVC(Model-View-Controller)架构模式。这个“Rails项目源代码”是一个使用Rails构建的图片分享网站的完整源代码,它揭示了如何...
Rails 3.1 和 Cucumber-Rails 1.2.0 是两个在Web开发领域非常重要的工具,尤其对于Ruby on Rails框架的测试和自动化流程。本文将深入探讨这两个组件,以及它们如何协同工作来增强软件开发的效率和质量。 首先,...
RailsGuides中的"blog"程序是一个典型的入门级示例,旨在帮助初学者理解RoR的工作原理和核心概念。 在Rails中,**模型(Model)** 负责处理数据和业务逻辑,通常与数据库交互。在这个"blog"程序中,可能会有一个`...
### Rails 101S: 初学者必备的Ruby on Rails 宝典 #### Introduction: 深入了解Ruby on Rails 《Rails 101S》是一本为Ruby on Rails初学者准备的手册,旨在帮助新手快速入门并掌握基本的开发技能。本手册将从最...
Struts2和Rails都是流行的Web开发框架,它们都提供了强大的功能来支持应用程序的国际化,使得开发者可以轻松地为不同语言的用户提供本地化体验。这里我们将深入探讨这两个框架的国际化实现。 **Struts2的国际化实现...
本书《Component-Based Rails Applications》主要介绍了如何使用Rails引擎(Rails Engine)进行基于组件的Rails应用开发,以及如何对应用程序的大型模块进行拆分和模块化。以下是书中一些核心知识点的详细说明: 1....
在Rails中,可以使用第三方库如`gem 'recaptcha'`来集成谷歌的reCAPTCHA服务,或者创建自定义的验证码生成器,通过随机字符或图片实现。 4. **数据查询**:Rails的ActiveRecord层提供了强大的查询接口,如`where`、...
### RailsSpace:构建社交网络网站 #### 一、引言 RailsSpace是一本专注于通过实践项目教授Ruby on Rails开发的书籍。本书通过构建一个面向Ruby社区的社交网络平台——RailsSpace,来帮助读者掌握Ruby on Rails的...