我正在铁轨上学习红宝石。在我的项目中 我使用collection_select。我的代码是
<%= collection_select(:sport_name,count,Sport.find( :all, :order => 'id' ), :id, :sport_name, {} ,
{:selected => ps.sport.id,
:include_blank => "Select Sport",
:onchange => "hidvalue("+ps.sport.id.to_s+","+count.to_s+")",
:style => "margin:1px 0 0;width:210px;" }) %>
onchange
有效 - selected
不起作用
如果我改为
<%= collection_select(:sport_name,count,Sport.find( :all, :order => 'id' ),:id, :sport_name,
{:selected => ps.sport.id,
:include_blank => "Select Sport",
:onchange => "hidvalue("+ps.sport.id.to_s+","+count.to_s+")" },
{:style => "margin:1px 0 0;width:210px;" }) %>
onchange
不起作用,但selected
有效。我想一起使用onchange
和selected
。这段代码有什么问题?
答案 0 :(得分:5)
嗯,“selected”是一个选项,但“onchange”是您要分配给生成的HTML的HTML属性。这两种不同类型的东西假定要传递给不同参数中的collection_select。
特别是,“selected”应该作为第五个(“options”)散列中的键/值对传入,而“onchange”应该作为第六个(“html_options”)散列的一部分传入。