GSP 日期选择器:为每个字段添加标签(日、月、年)

GSP date picker: Add label for each field (day, month, year)

我按照 grails 文档中的建议使用了 GSP 日期选择器,但这会导致组件无法通过屏幕轻松访问 reader。我首选的解决方案是为每个标签添加一个标签,或者只添加一个后缀(例如购买日期(天)...)。使用这个日期选择器是否可行,或者我必须自己实现一个日期选择器吗?

普惠制:

<g:datePicker name="buyDate" precision="day" default="${new Date()}" value="${book.buyDate}"/>

结果HTML:

<label for="buyDate"> Buy date</label>
<input type="hidden" name="buyDate" value="date.struct">
<select name="buyDate_day" id="buyDate_day" aria-labelledby="buyDate">
<option value="1">1</option>
...
</select>
<select name="buyDate_month" id="buyDate_month" aria-labelledby="buyDate"><option value="1">Januar</option>
...
</select>
<select name="buyDate_year" id="buyDate_year" aria-labelledby="buyDate"><option value="2119">2119</option>
...
</select>

单独使用 grails 日期选择器是不可能的。但是,您可以相当轻松地通过 javascript 添加自己的标签,或者使用 UI 框架中的现有日期选择器。我不确定 "add a postfix" 是什么意思,所以不确定如何提供帮助。

通过 jquery 添加标签的简单方法示例:

$("select[id^='buyDate_']").each(function(idx, el) { 
    $(el).before("<label for='" + $(el).attr("id") + "'>" + $(el).attr("id").replace("buyDate_", "") + ": </label");
});