检查下拉列表的第一个选项是否已选择属性

时间:2016-01-05 07:41:07

标签: javascript jquery

我创建了一个下拉列表,列出了当前年度的最近5年,当前年份被明确选中。这是我的代码:

var nDate = new Date();
    var year = nDate.getFullYear();
    $('#yearddl').append('<option value>Select Year</option>');
    for (var i = 0; i <= 4; i++) {
        if (i == 0) {
            $('#yearddl').append('<option selected value =' + year + '>' + year + '</option>');
        }
        else {
            $('#yearddl').append('<option value =' + year + '>' + year + '</option>');
        }

        year = year - 1;
    }

现在,我的要求是如何检查第一个选项(在任何情况下都是当前年份)是否已选择属性。基本上,我想从这里删除选定的选项并将其提供给其他选项。

2 个答案:

答案 0 :(得分:2)

创建选项时不要保留selected属性。生成options后,您可以使用$('#yearddl option[value='+nDate.getFullYear()+']')选择器设置selected属性。

试试这个:

var nDate = new Date();
var year = nDate.getFullYear();
$('#yearddl').append('<option value>Select Year</option>');
for (var i = 0; i <= 4; i++) {
    $('#yearddl').append('<option value =' + year + '>' + year + '</option>');
  year = year - 1;
}
$('#yearddl option[value='+nDate.getFullYear()+']').prop('selected',true);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<select id='yearddl'>
  <option value='2099' selected>2099</option>
</select>

Fiddle here

答案 1 :(得分:2)

$('#yearddl option:nth-child(2)').is(":selected")