如何将<label for =“”>设置为位于表格单元格中的选择器的ID

时间:2016-03-14 18:27:26

标签: jquery html css ruby-on-rails

这是我需要改进的代码的一部分:

<table class="table-striped table-bordered table-condensed table-hover">
  <%= f.fields_for :goals do |goal| %>
    <%= goal.hidden_field :copm_id, value: goal.object.copm_id %>
    <tr>
      <td>
        <label for='category'> Category/Subcategory</label>
        <%= goal.select :category_id, grouped_options_for_select(copm_category_list, goal.object.category_id), include_blank: true, id: 'category' %>
      </td>
      <td>
        <label>Goal Description</label>
        <%= goal.text_area :description, rows: 2, cols: 70 %>
      </td>
    </tr>
  <% end %>
</table>

在浏览器中检查页面时,更准确地说是下拉框“Category / Subcatgory”,我注意到了标签

<lablel for="category">

和标签

<select name="copm[goals_attributes][0][category_id]" id="copm_goals_attributes_0_category_id">
    <option value=""></option>
    <optgroup label="Self Care">
        <option value="1">Personal care</option>
        <option value="2">Functional mobility</option>
        <option value="3">Community management</option>
    </optgroup>
    <optgroup label="Productivity">
        <option value="4">Paid or unpaid work</option>
        <option value="5">Household management</option>
        <option value="6">School and/or play</option>
    </optgroup>
    <optgroup label="Leisure">
        <option value="7">Quiet recreation</option>
        <option value="8">Active recreation</option>
        <option value="9">Socialization</option>
    </optgroup>
</select>

是不同的标签。

我需要:

<lablel for="copm[goals_attributes][0][category_id]">
对于第二行,

和“0”相应地增加,依此类推,或者,无论行如何,下面的“id”都会变为常量值,如下所示:

<select name="copm[goals_attributes][0][category_id]" id="category">

任何线索如何解决这个问题将非常受欢迎,因为对于某些屏幕阅读器来说,正确获取与选择器相关联的标签非常重要。

2 个答案:

答案 0 :(得分:1)

您可以使用以下内容:

:description

同样适用于label等。有关copyURLToFile方法的一些文档:http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html#method-i-label

答案 1 :(得分:1)

您是否尝试使用label form_builder辅助方法rails而不是手动设置label的标记?

所以,而不是:

<label for='category'> Category/Subcategory</label>

尝试使用:

<%= goal.label :category_id, 'Category/Subcategory' %>

看看它是否有帮助。

有关详细信息,请参阅FormBuilder#label