2

ドロップダウンリストから選択した値を強調表示しようとしていますが、これは機能します...しかし、リストから別の項目を選択すると、それも強調表示されます。他のアイテムを選択すると、他のアイテムに追加され続けます。<option>新しい<option>ものが選択されたときに古いものから削除するにはどうすればよいですか? ここで私の JSFiddle をチェックしてください。ステートメントを使用することになっていることは知っていますif/elseが、方法がわかりません。

4

4 に答える 4

1

デモを見る

var highlighted="";
$(function () {
    $('#places').change(function () {
        //if there is a previous selection, then remove highlight class
        if(highlighted!="")
            $('select option:contains(' + highlighted+ ')').removeClass('highlight')
        //store the current selection in temp var
        highlighted=$(this).val();
        $('select option:contains(' + $(this).val() + ')').addClass('highlight')
    })
})
于 2013-05-30T20:18:36.643 に答える
1

最初に他の要素からクラスを削除します。

フォーク: http://jsfiddle.net/CzuGF/

3 行目:

$('select option').removeClass('highlight');
于 2013-05-30T20:18:46.287 に答える
0

クラスを追加する前に、この行をコードに追加します。

$(this).find(".highlight").removeClass("highlight");

デモ: http://jsfiddle.net/tymeJV/t4Vhd/2/

于 2013-05-30T20:17:45.377 に答える