javascript - 将 html ID 添加到 rails 选择选项

标签 javascript jquery ruby-on-rails simple-form

我们正在使用 simple_form 并尝试将 id 添加到每个特定的 select_tag 的 选项。这是我们的选择:

<%= f.input :category, collection: %w{ Football Basketball Golf Soccer }, :include_blank => "Choose one" %>

这是我们添加 id/ids

后它可以的样子
<select class="select required form-control" id="sport_category" name="sport[category]">
  <option value="">Choose one</option>
  <option value="Football">Football</option>
  <option id="addBehavior" value="Basketball">Basketball</option>
  <option value="Golf">Golf</option>
  <option value="Soccer">Soccer</option>
</select>

但这也可以(为每个选项添加一个 id)

<select class="select required form-control" id="sport_category" name="sport[category]">
  <option value="">Choose one</option>
  <option id="football" value="Football">Football</option>
  <option id="basketball" value="Basketball">Basketball</option>
  <option id="golf" value="Golf">Golf</option>
  <option id="soccer" value="Soccer">Soccer</option>
</select>

我们想添加 js 行为以在选择特定 选项 时触发事件,并计划使用 getElementById 来定位该选项。这就是为什么我们要在选项中添加一个 id..实际上只有篮球选项。

最佳答案

尝试使用,

<%= f.input :category, collection: %w{ Football Basketball Golf Soccer }.map { |category| [category, category, {:id => category}]}, :include_blank => "Choose one" %>

当我尝试时,它给了我 html

<option value="">Choose one</option>
<option id="football" value="Football">Football</option>
<option id="basketball" value="Basketball">Basketball</option>
<option id="golf" value="Golf">Golf</option>
<option id="soccer" value="Soccer">Soccer</option>

可能有更简洁的方法来做到这一点,但它确实有效。

如果你也这样做,

<%= f.input :category, collection: [["Football", "football"], ["Basketball", "basketball", {:id => "basketball"}], ["Golf", "golf"], ["Soccer", "soccer"]], :include_blank => "Choose one" %>

这给了我 html,

<option value="">Choose one</option>
<option value="Football">Football</option>
<option id="basketball" value="Basketball">Basketball</option>
<option value="Golf">Golf</option>
<option value="Soccer">Soccer</option>

同样,可能有更简洁的方法来做到这一点!但它至少对我有用。

希望对你有帮助

关于javascript - 将 html ID 添加到 rails 选择选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22799800/

相关文章:

ruby-on-rails - 使用 mongodb 嵌套字段

ruby-on-rails - rails yaml fixture - 指定 NULL 值

javascript - Javascript 中的经典字数统计算法

javascript - 如何使用css3/javascript用颜色将一个圆分成12等份

javascript - Node.js:监听器有问题

javascript - 无法使用 ascii 46 `.`(句点)聚焦下一个输入字段

javascript - 改进 Javascript 和模态 HTML

javascript - CSS类相互冲突

jquery - 使用jquery动态增加文本区域高度

ruby-on-rails - rails 重定向到 'data:,'