【问题标题】:Manipulate calendar year in HTML在 HTML 中处理日历年
【发布时间】:2011-11-23 18:57:06
【问题描述】:

我不会在我的下拉列表中硬编码年份,而是将一年作为第一个选项值传递,然后希望接下来的 2 个值是上一年,依此类推。像这样的:

<select name="workloadYear">
    <option value="2008" <c:if test="${form.workloadYear == 2008}">selected="selected"</c:if>>2008</option>
    <option value="2007" <c:if test="${form.workloadYear == 2007}">selected="selected"</c:if>>2007</option>
    <option value="2006" <c:if test="${form.workloadYear == 2006}">selected="selected"</c:if>>2006</option>
</select>

如何在不硬编码年份的情况下做到这一点?

【问题讨论】:

    标签: html jsp jstl el


    【解决方案1】:

    您可以通过以下方式在 EL 中获取当前年份:

    <jsp:useBean id="now" class="java.util.Date" />
    <fmt:formatDate var="year" value="${now}" pattern="yyyy" />
    

    (现在可以使用 ${year}

    您可以在 JSP 中使用 &lt;c:forEach&gt; 进行循环:

    <select name="workloadYear">
        <c:forEach begin="0" end="2" varStatus="loop">
            <c:set var="currentYear" value="${year - loop.index}" />
            <option value="${currentYear}" ${form.workloadYear == currentYear ? 'selected="selected"' : ''}>${currentYear}</option>
        </c:forEach>
    </select>
    

    这将显示当前年份和前 2 年作为选项。

    【讨论】:

    • 嘿,伙计……谢谢我不需要上半部分……我刚刚过了一年,效果很好!!!……感恩节快乐
    猜你喜欢
    • 2011-11-13
    • 1970-01-01
    • 1970-01-01
    • 2016-05-09
    • 2021-01-07
    • 2020-06-12
    • 1970-01-01
    • 1970-01-01
    • 2019-09-12
    相关资源
    最近更新 更多