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

私が提案する簡単な解決策の1つは、以下で説明するように選択を変更することです

<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 に答える