这是一个关于省份和城市的级联操作,当选择省份的时候,省份的状态发生改变,调用provincechange()函数,取得省份ID,并调用application.js的ajax代码,将省份id送到city控制器中,取得所在省份的所有城市并返回,showResponse()函数接受返回结果,并将城市属性结果发送到city.rhtml由provincechange()函数接收,进行相应的显示
ruby 代码
这是 city_controller.rb
- def cityByprovince
- province_id = params[:province_id ]
- @cities = City.find(:all ,:conditions =>["province_id = ?", province_id ],:order => "orderby")
- render :text => @bacities.to_json
- end
- def index
- @provinces = Province.find(:all)
- end
js 代码
application.js
-
- function chinacity(province_id,citycon){
- var showResponse=function(transport)
- {
- var json = eval(transport.responseText);
- $(citycon).options.length=1;
- for(var i=0;i
- var oNewNode=new Option();
- oNewNode.value=json[i].attributes.id;
- oNewNode.text=json[i].attributes.city;
- $(citycon).options.add(oNewNode);
- }
- }
-
- var myAjax = new Ajax.Request(
- '/city/cityByprovince',
- {
- method: 'get',
- requestHeaders:{Accept:'application/json'},
- parameters:'province_id='+province_id,
- onComplete: showResponse
- }
- );
- }
xml 代码
这是 city.rhtml
- <td>省份td>
- <td>
- <%=
- select("user",'province_id',@provinces.collect{|p|[p.province,p.id]},options = {:include_blank => true},html_options = {:onchange =>"provincechange()"})
- %>
- td>
- <td>城市:td>
- <td>
- <%=
- select("user",'city_id',options = {:"--请选择"=>"0"})
- %>
- td>
- <script type="text/javascript">
- provincechange=function()
- {
- chinacity($("user_province_id").value,"user_city_id");
}
- </script>
分享到:
相关推荐
I18n在Rails中闪烁。 安装 将此行添加到您的应用程序的Gemfile中: gem "simple_flash", "~> 1.0" 然后执行: $ bundle 用法 SimpleFlash将两个辅助方法添加到您的控制器: redirect_to_with_success和redirect_...
例如,可以设置`on_delete: :cascade`来实现级联删除,或`index: true`来创建对应的索引。 5. **版本兼容性**: Foreigner库保持与Rails的兼容性,所以即使你正在使用较旧或较新的Rails版本,也能顺利集成并使用。...
级联样式表(CSS) JavaScript / ECMAScript JPEG,PNG,GIF,TIFF PDF输出 书签,链接,元数据 加密和文件安全 字体嵌入和子集 PDF附件 轻松整合 PHP和Ruby on Rails Servlet的Java类 .NET for C#和ASP...
级联样式表(CSS) JavaScript / ECMAScript JPEG,PNG,GIF,TIFF 书签,链接,元数据 加密和文件安全 字体嵌入和子集 PDF附件 PHP和Ruby on Rails Servlet的Java类 .NET for C#和...
该项目是通过引导的。 您将在下面找到一些有关如何执行...Ruby on Rails 在开发中代理API请求 配置代理后出现“无效的主机头”错误 手动配置代理 配置WebSocket代理 在开发中使用HTTPS 在服务器上生成动态<met
级联检测和级联的邮件部分计数。 以下内容只能在使用Ruby的服务器上完成: 将UTF-8字符串转换为GSM 7位编码,反之亦然。 检测是否可以用GSM 7位编码安全地表示UTF-8字符串。 以GSM 7位编码检测双字节字符。 ...
"Poignant"扩展的出现,无疑让那些熟悉Ruby on Rails(RoR)的开发者在转向Laravel时感到更为得心应手。它借鉴了RoR的一些优秀实践,如ActiveRecord的便利特性,同时保持了Laravel的简洁和强大。 在实际应用中,...
在使用Ancestry的过程中,需要注意的是,由于`ancestry`列的更新可能导致级联更新,因此在进行大量修改时要谨慎,避免引起性能问题。此外,对于复杂的树操作,如重建树或检查循环引用,Ancestry也提供了相应的辅助...
1. Ruby不再需要新的WEB开发框架,Rails统治了一切。 2. PHP没有多线程,对于后台数据处理有些吃力。 3. Java其实非常好,但不是脚本,仅此而已。 ##开发这个框架的目的: 1. 现有框架如Django, SQLAlchemy无法...
这个框架是 ActiveRecord 模式的一个实现,灵感来源于 Ruby on Rails 中的 ActiveRecord。在 Castle ActiveRecord 2.0 版本中,开发者可以更高效地管理数据库操作,而无需编写大量的 SQL 代码。 **1. Castle ...
ActiveRecord模式源于Ruby on Rails,其核心思想是将数据库表与业务对象绑定,每个对象都代表一个数据库记录,并且包含操作这些记录的方法。这种模式简化了数据访问逻辑,使得开发者可以专注于业务逻辑的实现。 在...
优雅的api(最好的Rails ActiveRecord,Laravel Eloquent等) 在配置上使用约定 模型验证 事务(基于异步钩子,因此您无需将代码包装到回调中) 基于knex.js(因此您拥有knex查询构建器的所有功能) 声明范围,...
开发者可能结合了CSS(级联样式表)和JavaScript来实现交互性和视觉设计,创建出用户友好的界面。对于这样的应用程序,HTML5可能是首选版本,因为它提供了更多的功能和兼容性,包括本地存储、离线工作流以及多媒体...
在更深入的技术层面上,项目可能还结合了CSS(级联样式表)来实现视觉样式和布局的控制,以及JavaScript来处理用户交互和动态更新内容。此外,考虑到社交网络的功能,可能会使用AJAX(异步JavaScript和XML)技术来...
这些消息通常用CSS(级联样式表)来格式化,以确保视觉效果一致。 6. 用户体验:考虑添加记住我(Remember Me)选项,使用户不必在每次访问时都输入密码。还可以使用HTML5的`autofocus`属性自动聚焦第一个输入框,...