我正在尝试使用jQuery,以便根据单击哪个单选按钮显示不同的部分或表单。我使用JSFiddle来首先处理一个普通的香草形式,而且都很好,但是当我将相同的代码逻辑应用到使用simple_form gem的rails应用程序时,似乎没有任何工作。Jquery似乎并没有找到Simple_form中的DOM元素
见我下面
$("input[type=radio]").click(function(){
if ($('input[name=usertype]:checked').val() == "User A") {
$("#one").slideDown("fast");
$("#two").slideUp("fast");
$("#three").slideUp("fast");
$("#four").slideUp("fast");
}
if ($('input[name=usertype]:checked').val() == "User B") {
$("#two").slideDown("fast");
$("#one").slideUp("fast");
$("#three").slideUp("fast");
$("#four").slideUp("fast");
}
if ($('input[name=usertype]:checked').val() == "User B") {
$("#three").slideDown("fast");
$("#two").slideUp("fast");
$("#one").slideUp("fast");
$("#four").slideUp("fast");
}
if ($('input[name=usertype]:checked').val() == "User B") {
$("#four").slideDown("fast");
$("#three").slideUp("fast");
$("#two").slideUp("fast");
$("#one").slideUp("fast");
}
});
<%= simple_form_for(resource, :as => resource_name, :html => { :class => 'form-horizontal' }, :url => registration_path(resource_name)) do |f| %>
<%= f.input :email, placeholder: '[email protected]' %>
<%= f.input :username %>
<%= f.input :usertype, label: 'Which best describes you', :input_html => {:name => "usertype"}, :collection => ["User A", "User B", "User C", "User D"],
as: :radio_buttons %>
<ul id="one">
<li><%= f.input :dob, label: 'Date of Birth', as: :date, start_year: Date.today.year - 90,
end_year: Date.today.year - 16,
order: [:day, :month, :year] %></li>
</ul>
<ul id="two">
<li><%= f.input :launchedIn, label: 'Year club launched', as: :date, start_year: Date.today.year - 300,
end_year: Date.today.year, discard_day: true, discard_month: true, order: [:year] %></li>
</ul>
<ul id="three">
<li><%= f.input :category, :collection => ["Football", "Golf", "Tennis", "Rugby"], prompt: 'Choose an Sport' %>
</ul></li>
<ul id="four">
<li><%= f.input :bio, label: 'Tell us about you', hint: 'Maximum 300 characters' %></li>
</ul>
<%= f.input :password %>
<%= f.input :password_confirmation %>
<div><%= f.submit "Register", :class => 'btn btn-primary' %></div>
<% end %>
代码是否配备了至少四个版本的jsfiddle的这项工作,但是没有我的Rails应用程序工作。
将不胜感激任何帮助,因为我的压力球只能拿这么多:-)
非常感谢
基兰
感谢重新运行耙子资产预编译工作...救济 – kcoughlan78
一个更多的建议,如果你使用版本工具(如:git)像我做:在开发过程中,我总是用'rm -rf'删除我的'public/assets'目录(所以每次我想看到变化时我都不必预编译),而不是w如果我完成了我提交给他们的更改,在此之后,我会检查该目录是否将git co public/assets'带回。然后运行'assets precompile'并提交。如果你不使用任何版本控制工具,你应该仔细研究它。 – equivalent8