我正在尝试复制此HTML代码
<input type="checkbox" value="" id="2" name="check" />
<label style="left: 0px;"for="2"><span>Name</span>
使用这个Ruby On Rails 4代码
<%= check_box_tag 'reason_ids[]', reason.id, false ,:required => true%>
<label style="left: 0px;"for="2"><span>Name</span>
到目前为止,我获得了与HTML相同的视觉外观,但功能却不尽相同。
我的目标: 点击标签也检查复选框。
此时我无法选中复选框,也无需单击复选框或标签。我试图改变Rails代码的顺序,但没有成功。
我做错了什么? 感谢。
答案 0 :(得分:1)
实现目标:
点击标签也检查复选框
你需要&#34;连接&#34; id-for的输入标签对(input-id和label-for应具有相同的值):
<%= check_box_tag 'reason_ids[]', reason.id, false, :required => true, :id => reason.id %>
<label style="left: 0px;" for="2"><span>Name</span>
注意:将:id => reason.id
添加到check_box_tag
或者(不同的技术),您可以将check_box包装在标签下(无需关联id-for):
<%= label_tag do %>
<span>Name</span>
<%= check_box_tag 'reason_ids[]', reason.id, false, :required => true %>
<% end %>