viva_yang 2009-01-03 22:15
浏览 364
已采纳

select 级联问题

  1. new.rhtml

New pr_cate

<%= javascript_include_tag 'prototype' %>
<% form_for(@pr_cate) do |f| %>
<%= f.error_messages %>

<%=f.select(:id, @pr_cates.map {|u| [u.name,u.id]},
{ :onchange => remote_function(
:with => "'id='+value",
:method => "get",
:update => 'next_select',
:url => { :action => :new } ) }

)%>

"test") %>

...

  1. controller

def new

if params[:id]
@pr_cates = PrCate.find(:all, :conditions => ["parent_id = ?", params[:id]])
else
@pr_cates = PrCate.find(:all, :conditions => ["parent_id = ?", "0"])
end

@pr_cate = PrCate.new

respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @pr_cate }
end
end

  1. _test.rhtml

<%= select("pr_cate","id", @pr_cates.map {|u| [u.name,u.id]}) %>

new前台界面中的情况是
第一个下拉项和第二个下拉项中的内容都来自
@pr_cates = PrCate.find(:all, :conditions => ["parent_id = ?", "0"])

第一个下拉项的onchange对第二个不起作用。

  • 写回答

3条回答 默认 最新

  • iteye_17020 2009-01-04 17:17
    关注

    将你的代码

    [code="ruby"]
    <%=f.select(:id, @pr_cates.map {|u| [u.name,u.id]},
    {:onchange => remote_function(....) }
    )%>
    [/code]

    修改为
    [code="ruby"]
    <%=f.select(:id, @pr_cates.map {|u| [u.name,u.id]},
    [b] [color=red]{},[/color][/b]
    {:onchange => remote_function(....) }
    )%>
    [/code]

    注意:
    [quote]select(object, method, choices, options = {}, html_options = {})[/quote]
    这里有两个hash,第一个是select的属性,第二个才是html的属性。

    建议:
    to:楼主
    提问题的时候,将代码格式化下。

    to:shunjian
    你的代码噪音太大了,不如不回答....

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!