13

我正在尝试生成一个常规的简单形式

= simple_form_for [:hq, @team, @order] do |f|
  .tickets
    = f.select :tickets, :aaa => "aaa"
    = render "ticket"


  .details
    .left
      = f.input :address1
      = f.input :address2
      = f.input :state
      = f.input :country
      = f.input :email
    .right
      = f.input :comments

但我希望输入不使用标签呈现,只是占位符中的标题“地址行 1”。

我知道我可以这样做,f.input :address1, :placeholder => "whatever", :label => ""但我希望它可以使用包装器进行配置,并采用 i18n 值形式标签,而不是占位符。

4

2 回答 2

21

尝试执行以下操作:

f.input :address1, placeholder: "Address Line 1", label: false
于 2014-05-21T03:24:29.180 回答
-2

如果你想使用 javascript,这里有一个 jQuery 片段可以完成这项工作:

$.each($(".left .input"), function() {
  var label = $("label",$(this)).text();
  $("label",$(this)).hide();
  $("input",$(this)).attr("placeholder",label);
});

在这种情况下使用 js 的主要优点是结果保持屏幕阅读器兼容(他们将阅读标签,因为他们不会运行 js)。

于 2013-03-31T20:04:56.483 回答