jquery选择列表选项焦点

时间:2013-06-27 03:44:11

标签: javascript jquery selectlist

我正在尝试执行一个月的下拉列表,该下拉列表会删除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);
        }
    });

我已经设置了一个小提示来表明问题。

感谢任何帮助

提前致谢

理查德

1 个答案:

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