下面是我在JSP中的下拉列表,其中我必须显示年份值,并在文档准备就绪时填充这些年份值,我已编写了JavaScript代码。
<table align="center">
<tr>
<td>
<b>Select Year ::</b>
</td>
<td>
<select id='getYear' onchange="yearChanged(this.value);">
</select>
</td>
</tr>
</table>
以及填充其中值的相应javascript代码如下
$(document).ready(function() {
var d = new Date();
var year = d.getFullYear();
var select = document.getElementById("getYear");
for(var i=0 ; i < 8; i++){
var displayPast10Year = (parseInt(year)) - i;
var option = document.createElement('option');
option.text = option.value = displayPast10Year;
select.add(option, 0);
}
select.valueOf(year);
$("#getYear").val(year);
yearChanged(year);
});
我的要求是下拉(即选择标记)在文档准备好时将年份值显示为2016。我该怎么做?
答案 0 :(得分:0)
当您执行$("#getYear").val(year);
时,您将其设置为2017年。
如果您希望将其设置为2016,则可以删除该行并添加
if (displayPast10Year === 2016) {
option.selected = 'selected';
}
在for
循环中,或者只需将其替换为$("#getYear").val(2016)
。
现在,如果您需要始终为current year - 1
,请在上述任一解决方案中将2016替换为year - 1
。
答案 1 :(得分:0)
在change()
上致电val()
,如下所示:
$(document).ready(function() {
var d = new Date();
var year = d.getFullYear();
var select = document.getElementById("getYear");
for(var i=0 ; i < 8; i++){
var displayPast10Year = (parseInt(year)) - i;
var option = document.createElement('option');
option.text = option.value = displayPast10Year;
select.add(option, 0);
}
select.valueOf(year);
$("#getYear").val(year);
//yearChanged(year);
$("#getYear").val("2016").change();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table align="center">
<tr>
<td>
<b>Select Year ::</b>
</td>
<td>
<select id='getYear'>
</select>
</td>
</tr>
</table>