我正在尝试执行一个月份年份下拉列表,它采用 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);
}
});
我已经设置了一个 fiddle 来显示问题。
非常感谢任何帮助
提前致谢
理查德
最佳答案
我建议的一个简单解决方案是更改选择,如下所述
<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);
}
关于javascript - jquery 选择列表选项焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17334179/