我正在创建一个自定义 HTML 来获取电话号码的输入。这应该是一个带有电话类型选择框和电话号码文本框的控件组。布局需要不同于使用内置 HTML 帮助器 @select 和 @inputText 完成的布局。所以我的代码如下所示:
@phoneGroup(field: Field, className: String = "phone") = {
<div class="control-group">
<label class="control-label" for="@field("type").id">@Messages("company.phoneNumbers")</label>
<div class="controls">
<select id="@field("type").id" name="@field("type").name">
@options(models.PhoneType.options)
</select>
<input type="text" id="@field("number").id" name="@field("number").name" value="@field("number").value">
</div>
</div>
}
我在我的模板中如下调用它:
@repeat(companyForm("phones"), min = 2) { phone =>
@phoneGroup(phone)
}
在生成的 HTML 中,到目前为止,除了由
@options(models.PhoneType.options)
这是生成的 HTML:
<div class="control-group">
<label class="control-label" for="phones_0__type">Phone numbers</label>
<div class="controls">
<select id="phones_0__type" name="phones[0].type">
(MAI,Main)(MOB,Mobile)(FAX,Fax)(CUS,Custom)
</select>
<input type="text" id="phones_0__number" name="phones[0].number" value="">
</div>
</div>
显然,@options 只是输出我在 models.PhoneType.options 中传递给它的 Map 的字符串表示形式。所以问题是,我如何使用@options helper 来生成以下 HTML:
<option value="MAI">Main</option>
<option value="MOB">Mobile</option>
<option value="FAX">Fax</option>
<option value="CUS">Custom</option>
我是一名 Java 程序员,我对 Scala 没有任何经验。这可能是一件微不足道的事情,但我没有找到任何例子。
先感谢您。- 德米特里
2013-11-07 更新 - 在下面的“答案”部分中发布了解决方案