Scala inputRadioButton-当选项属性包含HTML代码时

Scala inputRadioButton-当选项属性包含HTML代码时,scala,playframework,playframework-2.0,Scala,Playframework,Playframework 2.0,我想在我的表单模板中使用@inputRadioGroup帮助程序(已找到): @inputRadioGroup( contactForm("gender"),· options = options("M"->"Male","F"->"Female")) 嗯,一切都好。但是我想使用图标/图像而不是文本。类似的东西(使用twitter引导css): 生成以下HTML代码: <label for="gender_M">&lt;i

我想在我的表单模板中使用
@inputRadioGroup
帮助程序(已找到):

@inputRadioGroup(
          contactForm("gender"),·
          options = options("M"->"Male","F"->"Female"))
嗯,一切都好。但是我想使用
图标/图像
而不是
文本
。类似的东西(使用twitter引导css):

生成以下HTML代码:

<label for="gender_M">&lt;i class=&quot;icon-user&quot;&gt;&lt;/i&gt;</label>
i class=“图标用户”/i
浏览器中的渲染为:

<i class="icon-info-sign"></i>

没有显示图标,因为html转义。。。有人有主意吗


提前感谢。

如果您需要将类应用于生成的标签标签,那么您就倒霉了。创建radioButtonGroup的代码本身就是一个scala模板——如下所示:

@input(field, args:_*) { (id, name, value, htmlArgs) =>
  <span class="buttonset" id="@id">
    @options.map { v =>
      <input type="radio" id="@(id)_@v._1" name="@name" value="@v._1" @(if(value == Some(v._1)) "checked" else "") @toHtmlArgs(htmlArgs)>
      <label for="@(id)_@v._1">@v._2</label>
    }
  </span>
}

或者,您可以手动创建HTML,或者根据。

重写默认字段帮助程序,例如,在
视图.utils
包中创建
inputRadioButton.scala.HTML
文件,其中包含以下内容(根据需要进行修改):

<label for="gender_M">&lt;i class=&quot;icon-user&quot;&gt;&lt;/i&gt;</label>
<i class="icon-info-sign"></i>
@input(field, args:_*) { (id, name, value, htmlArgs) =>
  <span class="buttonset" id="@id">
    @options.map { v =>
      <input type="radio" id="@(id)_@v._1" name="@name" value="@v._1" @(if(value == Some(v._1)) "checked" else "") @toHtmlArgs(htmlArgs)>
      <label for="@(id)_@v._1">@v._2</label>
    }
  </span>
}
span.buttonset#fieldId label:
@(field: play.api.data.Field, options: Seq[(String,String)], args: (Symbol,Any)*)(implicit handler: helper.FieldConstructor, lang: play.api.i18n.Lang)

@helper.input(field, args:_*) { (id, name, value, htmlArgs) =>
  <span class="buttonset" id="@id">
    @options.map { v =>
      <input type="radio" id="@(id)_@v._1" name="@name" value="@v._1" @(if(value == Some(v._1)) "checked" else "") @toHtmlArgs(htmlArgs)>
      <label for="@(id)_@v._1">@Html(v._2)</label>
    }
  </span>
}
@import helper._
@import views.utils.inputRadioButton