我正在尝试执行一个月的下拉列表,该下拉列表会删除HTML,并在选择当前年份时删除前几个月。一切正常,但它总是将月份选项焦点设置为对象中的最后一个焦点,尝试焦点,选择没有喜悦。
var selectList = $("select#months");
var selectListOptions = $("select#months option");
var d = new Date(),
n = d.getMonth(),
y = d.getFullYear();
$("select#years").on("change", function (){
if ($(this).val() == y) {
$("select#months").children("option").each(function () {
if ($(this).val() <= n) {
$(this).remove();
}
});
}
else {
selectListOptions.appendTo(selectList);
}
});
我已经设置了一个小提示来表明问题。
感谢任何帮助
提前致谢
理查德
答案 0 :(得分:3)
我建议的一个简单的解决方案是更改下面提到的选择
<select id="months">
<option value="1">January</option>
<option value="2">February</option>
<option value="3">March</option>
<option value="4">April</option>
<option value="5">May</option>
<option value="6">June</option>
<option value="7">July</option>
<option value="8">August</option>
<option value="9">September</option>
<option value="10">October</option>
<option value="11">November</option>
<option value="12">December</option>
<option selected="selected">Month</option>
</select>
因为当追加最后一个选项时,jQuery会选择它。
修改强>
将您的else语句更改为
else {
selectListOptions.appendTo(selectList);
$('#months option:contains("Month")').prop('selected', true);
}