我现在有一个ftl页面:
<form name ="queryByYearForm">
<span>按年份查询:</span>
<select name="year">
<option value="2011">2011</option>
<option value="2012">2012</option>
<option value="2013">2013</option>
<option value="2014">2014</option>
<option value="2015">2015</option>
<option value="2016">2016</option>
<option value="2017">2017</option>
<option value="2018">2018</option>
<option value="2019">2019</option>
<option value="2020">2020</option>
</select>
<a href="javascript:void(0);" class="gridBtn commitYear">确定</a>
</form>现在要把这个下拉框做成动态的,显示当前年份以及后10年的年份,可以直接在页面上加什么代码实现吗?
因为没怎么用过这种页面不太了解
如果用JS实现嵌套进来怎么样写方便一点 ?
<form name ="queryByYearForm">
<span>按年份查询:</span>
<select name="year">
<option value="2011">2011</option>
<option value="2012">2012</option>
<option value="2013">2013</option>
<option value="2014">2014</option>
<option value="2015">2015</option>
<option value="2016">2016</option>
<option value="2017">2017</option>
<option value="2018">2018</option>
<option value="2019">2019</option>
<option value="2020">2020</option>
</select>
<a href="javascript:void(0);" class="gridBtn commitYear">确定</a>
</form>现在要把这个下拉框做成动态的,显示当前年份以及后10年的年份,可以直接在页面上加什么代码实现吗?
因为没怎么用过这种页面不太了解
如果用JS实现嵌套进来怎么样写方便一点 ?
<#assign y=2020>
<#list x..y as i>
<option value="${i}">${i}</option>
</#list>
更详细的自己看文档吧
<head>
<script type="text/javascript">
function initSelect()
{
var year = new Date().getFullYear();
var sel = document.getElementsByName('year')[0];
for (var i = year; i < year + 10; i++)
{
var op = document.createElement('option');
op.value = i;
op.text = i;
sel.options.add(op);
}
}
</script> </head>
<body onload="initSelect()">
<form name ="queryByYearForm">
<span>按年份查询:</span>
<select name="year">
</select>
<a href="javascript:void(0);" class="gridBtn commitYear">确定</a>
</form>
</body>
</html>
我这么写过 <select name="magazine" class="magazine">
<#assign periodicalTypeList = periodicalLocalService.getPeriodicalTypeList()!>
<#list periodicalTypeList as periodicalType>
<option value="${periodicalType["UUID"]}">${periodicalType["gt:title"]}</option>
</#list>
</select>
我这种是直接调的后台方法
我主要的问题是想问那个2011和2020可不可以直接在页面上new Date()之类的写成动态的
比如到了明年,显示就是2012-2021这样子 我尝试了几下都没有成功
/**
* 获得近五年
*
* @return
*/
public List<String> getYearList() {
List<String> yearList = new ArrayList();
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());
Integer year = calendar.get(Calendar.YEAR);
int count = 5;
for (int i = 0; i < count; i++) {
yearList.add(String.valueOf(year--));
}
return yearList;
}
这样一个后台方法. 跟你需求相匹配.页面:<select name="assessView.year"><#list assessView.yearList as yearList><option value="${yearList?if_exists}" <#if '${assessView.year?if_exists}'='${yearList?if_exists}'>selected</#if>>${yearList?if_exists}</option></#list></select> 年