【问题标题】:Rails application <select> display overwrittenRails 应用程序 <select> 显示被覆盖
【发布时间】:2011-04-25 15:37:56
【问题描述】:

我有一个 Rails 3 应用程序设置为使用 HTML5。我之前编写了一个选择标签来显示来自活动记录查询的一些值。现在,当我运行应用程序时,默认显示设置为无,尽管我没有在任何应用程序样式表中设置该样式属性。即使我使用内联样式,例如

<div id="models">
  <select style="display:block;">
    <% @models.each do |model| %>
        <option value="<%= model.id %>" ><%= model.name %></option>
        <% end %>
     </select>
   </div>

元素的样式属性仍被设置为“display: none;”。

有人有什么建议吗?

【问题讨论】:

  • 我唯一的建议是重新启动您的服务器,然后在您的浏览器中禁用 JavaScript,看看它是否更好。
  • 一定有什么东西在设置这种风格。使用 Inspector(在 Chrome 中)或 FireBug(在 FF 中)来确定 CSS 是否将显示设置为无。然后检查您的 js 代码是否有类似 $('select').hide(); 的内容。删除您的样式表,然后是您的 javascript,寻找错误。基本上,一直删除层,直到错误消失 - 那时,你已经找到了。
  • 我来这里基本上是为了给出与乔纳森相同的评论。如果没有内联或 css 样式,则必须是 javascript 设置此值。
  • 尝试
  • 当我的代码做了一些“不可能”的事情时,我通常会发现我没有运行我认为我正在运行的代码。或者 Jonathan 和 Jason 对某些 JavaScript 的看法是正确的。

标签: ruby-on-rails css html


【解决方案1】:

我建议尝试 collection_select,例如:

collection_select(object, method, collection, value_method, text_method, options = {}, html_options = {})

例如

collection_select(:model, :name, Model.all, :id, :name, {:prompt=>true}, {:class=>'my-class'})

并在样式表中设置 my-class。

【讨论】:

    猜你喜欢
    • 2012-11-21
    • 1970-01-01
    • 1970-01-01
    • 2022-11-30
    • 2012-08-24
    • 2023-03-14
    • 2012-08-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多