简单的表单:是否有可能去除的标签和使用标签的i18n占位符代替他们? [重复](Simple F

2019-07-31 20:51发布

这个问题已经在这里有一个答案:

  • 如何使用占位符代替的标签在simple_form? 4个回答

我试图要成为常规simpleform形式

= 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 => ""但我想它是用包装材料配置,走国际化价值形式的标签,而不是占位符。

Answer 1:

试着做以下几点:

f.input :address1, placeholder: "Address Line 1", label: false


Answer 2:

如果你想使用JavaScript,这里是一个jQuery片段,没有工作:

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

使用JS这种情况的主要优点是,结果仍然屏幕阅读器兼容(它们会读取标签,因为他们不会运行JS)。



文章来源: Simple Form: Is it possible to remove labels and replace them with placeholders using the labels i18n? [duplicate]