开发者

Rails simple form problem - How to put hidden input field last?

How do I change the order of the input element that simple form generate?

Because the hidden checkbox does block for clicking the label.

My simple_form code:

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

The form simple form generate:

    <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>

That I want to generate, that works when clicking on 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>


I don't know how to add a comment to the list of comments, but in response to:

The user should be able to click on the label to check and uncheck the checkbox – Rails beginner 1 hour ago

It's not the checkbox that prevents the user from clicking on that label, it's the lack of the for="" in

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

Either use <%= f.label %> as agmcleod mentioned, or add a for="" to the label:

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


In a traditional html form, it should be structured something like this:

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

The for attribute connects it to a field with either a name attribute or id attribute with that value you use in for. To do this in rails, use the following:

<%= f.label :company_is_true, 'Company' %>
<%= f.check_box :company_is_true %>
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜