Ruby on rails 3 为Rails中的include_blank构建具有不同样式的选择框

Ruby on rails 3 为Rails中的include_blank构建具有不同样式的选择框,ruby-on-rails-3,drop-down-menu,Ruby On Rails 3,Drop Down Menu,我有一个带有空白选项的选择框: <%= form.select :field_id, @options, {:include_blank => "No value"} %> “无值”}%> 这将为选择字段生成以下html: <select name="model[field_id]" id="model_field_id"> <option value="">No value</option> <option value="

我有一个带有空白选项的选择框:

<%= form.select :field_id, @options, {:include_blank => "No value"} %>
“无值”}%>
这将为选择字段生成以下html:

<select name="model[field_id]" id="model_field_id">
  <option value="">No value</option>
  <option value="1">some value</option>
  <option value="2">another value</option>
</select>

没有价值
一些价值
另一个价值
我希望此空白选项的样式不同(例如斜体),最好使用类:

<select name="model[field_id]" id="model_field_id">
  <option value="" class="empty">No value</option>
  <option value="1">some value</option>
  <option value="2">another value</option>
</select>

没有价值
一些价值
另一个价值

如何执行此操作?

您可以使用CSS属性选择器执行此操作:

option[value=""] { background-color: red; }


请注意,某些浏览器(如Safari)不允许对select中的选项进行太多的样式设置,因此不要过于依赖它。

您可以使用CSS属性选择器来实现这一点:

option[value=""] { background-color: red; }


请注意,某些浏览器(如Safari)不允许对select中的选项进行太多样式设置,因此不要过于依赖它。

感谢您提供的解决方案。此解决方案不使用类。如果我想在将来更改选项的值,我也必须更改css。我怎样才能让Rails为空白选项生成一个类属性呢?你将不得不使用补丁轨,这当然比修改自己的CSS更不可维护。您也无法控制Rails插入的BLASH选项的值,所以我不希望这个值经常改变,如果有人知道,Rails的更新版本是否有所改变?这里的问题和评论已经很老了。谢谢你的解答。此解决方案不使用类。如果我想在将来更改选项的值,我也必须更改css。我怎样才能让Rails为空白选项生成一个类属性呢?你将不得不使用补丁轨,这当然比修改自己的CSS更不可维护。您也无法控制Rails插入的BLASH选项的值,所以我不希望这个值经常改变,如果有人知道,Rails的更新版本是否有所改变?这里的问题和评论已经很老了。