0

如何更改简单表单生成的输入元素的顺序?

因为隐藏的复选框确实会阻止单击标签。

我的 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>
4

2 回答 2

2

我不知道如何在评论列表中添加评论,但回应:

用户应该能够单击标签以选中和取消选中复选框 – Rails 初学者 1 小时前

阻止用户单击该标签的不是复选框,而是缺少 for=""

<label>
  <span>Company<b></b></span>
  <%= f.check_box :company_is_true %>
</label>

要么使用 <%= f.label %> 作为提到的 agmcleod,要么在标签中添加一个 for="":

<label for="search_company_is_true">
  <span>Company<b></b></span>
  <%= f.check_box :company_is_true %>
</label>
于 2011-08-05T14:31:09.730 回答
1

在传统的 html 表单中,它的结构应该是这样的:

<label for="name">Name: </label>
<input type="text" name="name" />

for 属性将其连接到具有 name 属性或 id 属性以及您在 for 中使用的值的字段。要在 Rails 中执行此操作,请使用以下命令:

<%= f.label :company_is_true, 'Company' %>
<%= f.check_box :company_is_true %>
于 2011-08-05T13:00:14.377 回答