如何更改简单表单生成的输入元素的顺序?
因为隐藏的复选框会阻止点击标签。
我的simple_form代码:
<label>
<span>Company<b></b></span>
<%= f.check_box :company_is_true %>
</label>
表单简单表单生成:
<label>
<span>Company<b>0</b></span>
<input type="hidden" value="0" name="search[company_is_true]">
<input type="checkbox" value="1" name="search[company_is_true]" id="search_company_is_true">
</label>
我要生成的,点击标签时有效:
<label>
<span>Company<b>0</b></span>
<input type="checkbox" value="1" name="search[company_is_true]" id="search_company_is_true">
<input type="hidden" value="0" name="search[company_is_true]">
</label>
答案 0 :(得分:2)
我不知道如何在评论列表中添加评论,但是回应:
用户应该能够点击标签来检查并取消选中复选框 - Rails 初学者1小时前
这不是阻止用户点击该标签的复选框,而是
中缺少for =“”<label>
<span>Company<b></b></span>
<%= f.check_box :company_is_true %>
</label>
使用&lt;%= f.label%&gt;如所提到的agmcleod,或在标签上添加for =“”:
<label for="search_company_is_true">
<span>Company<b></b></span>
<%= f.check_box :company_is_true %>
</label>
答案 1 :(得分:1)
在传统的html表单中,它的结构应该是这样的:
<label for="name">Name: </label>
<input type="text" name="name" />
for属性将其连接到具有name属性或id属性的字段,该属性具有您用于的值。要在rails中执行此操作,请使用以下命令:
<%= f.label :company_is_true, 'Company' %>
<%= f.check_box :company_is_true %>