0

如果选择了当前年份,我正在尝试做一个月年下拉菜单,该下拉菜单采用 HTML 并删除前几个月。一切正常,但它总是将月份选项焦点设置为对象中的最后一个,尝试过焦点,选择不高兴。

http://jsfiddle.net/FneGp/

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);
        }
    });

我已经设置了一个小提琴来显示问题。

任何帮助感激不尽

提前致谢

理查德

4

1 回答 1

4

我建议的一个简单解决方案是更改选择,如下所述

<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);
        }
于 2013-06-27T04:24:28.193 回答