Javascript 如何在“选择标记”中保持选定的特定值

Javascript 如何在“选择标记”中保持选定的特定值,javascript,html,dropdown,Javascript,Html,Dropdown,下面是我在JSP中的下拉列表,在这里我必须显示年份值,这些年份值是在文档准备好时填充的,我为此编写了JavaScript代码 <table align="center"> <tr> <td> <b>Select Year ::</b> </td> <td> <select id='getYear' onc

下面是我在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);

});
$(文档).ready(函数(){
var d=新日期();
var year=d.getFullYear();
var select=document.getElementById(“getYear”);
对于(变量i=0;i<8;i++){
var displayPast10Year=(parseInt(year))-i;
var option=document.createElement('option');
option.text=option.value=显示过去10年;
选择。添加(选项,0);
}
选择.valueOf(年);
$(“#getYear”).val(年);
年份(年);
});

我的要求是,当文档准备就绪时,下拉列表(即选择标签)显示2016年的年份值。我该怎么做?

当你做
$(“#getYear”).val(year)时,你将它设置为2017年。
如果您想将其设置为2016年,您可以删除该行并添加

if (displayPast10Year === 2016) {
  option.selected = 'selected';
}
for
循环中,或者您可以简单地用
$(“#getYear”).val(2016)
替换它


现在,如果您需要始终将其设置为
当前年份-1
,则在上述任一解决方案中,将2016年替换为
年份-1

可能重复的否这仍然显示上次填充的值(即当前年份-2017年),可能是因为您稍后再次更改它。检查我在JSFIDLE上的解决方案:它工作得很好。我试着完全复制您的代码,但不知道为什么它仍然不工作。