我正在尝试制作一个常规的简单形式
= 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值表单标签,而不是占位符。
答案 0 :(得分:21)
尝试执行以下操作:
f.input :address1, placeholder: "Address Line 1", label: false
答案 1 :(得分:-2)
如果你想使用javascript,这里有一个jQuery片段来完成这项工作:
$.each($(".left .input"), function() {
var label = $("label",$(this)).text();
$("label",$(this)).hide();
$("input",$(this)).attr("placeholder",label);
});
在这种情况下使用js的主要优点是结果仍然符合屏幕阅读器(他们会读取标签,因为它们不会运行js)。