Javascript 如何在XSLT2.0中显示年份列表?
我是xslt和javascript方面的新手。 我已经使用XSLT2.0在输入字段中显示了当前日期Javascript 如何在XSLT2.0中显示年份列表?,javascript,xslt-2.0,Javascript,Xslt 2.0,我是xslt和javascript方面的新手。 我已经使用XSLT2.0在输入字段中显示了当前日期 <input id="date" type="date" class="input"> <xsl:attribute name="value"> <xsl:value-of select="format-date(current-date(),
<input id="date" type="date" class="input">
<xsl:attribute name="value">
<xsl:value-of select="format-date(current-date(),
'[Y0001]-[M01]-[D01]')"/>
</xsl:attribute>
</input>
但现在我想在下拉列表中显示年份列表,年份应该是当前年份,后面是10年,例如[201820172016,…]这样
但是我不能动态生成年份数组,我想我们可以使用.js来实现。请帮助我实现这个
目前,我正在显示xml文件中的年份,如下所示
<select class="select">
<xsl:for-each select="element/year/option">
<option value="{.}"><xsl:value-of select="."/></option>
</xsl:for-each>
</select>
提前感谢 假设您使用的是XSLT 2或3(如标签和示例所示),那么您使用的代码如下
<xsl:variable name="current-year" as="xs:integer" select="year-from-date(current-date())"/>
<select name="year">
<xsl:for-each select="reverse($current-year - 9 to $current-year)">
<option value="{.}">{.}</option>
</xsl:for-each>
</select>
{.}
e、 g.产出
2018
2017
2016
2015
2014
2013
2012
2011
2010
2009
这些示例使用XSLT3的文本值模板,但在XSLT2中,您将使用
<select name="year">
<option value="2018">2018</option>
<option value="2017">2017</option>
<option value="2016">2016</option>
<option value="2015">2015</option>
<option value="2014">2014</option>
<option value="2013">2013</option>
<option value="2012">2012</option>
<option value="2011">2011</option>
<option value="2010">2010</option>
<option value="2009">2009</option></select>