-1

通常、jQuery でアクティブなクラスを追加するのは簡単ですが、今回は Google マップに接続されたコードに実装しようとしています。

jQuery を使用してマーカーを表示および非表示にする私のスニペット コードは次のとおりです。

$('input[type="checkbox"]').click(function(){
        var id = $(this).attr('id');
        if($(this).is(':checked')) {
            show(id);
        } else {
            hide(id);
        }
      });

私の入力とラベルの例

<input type="checkbox" id="school" class="checkbox" /><label for="school">Schools</label>

私がやりたいことは、チェックボックスがクリックされた場合、それにクラスを追加してマーカーを表示することです。

$(this).addClass('active');AND 演算子をコードに追加して使用しようとし ましたが、うまくいきませんでした。これをこのコードに実装することは可能ですか、それとも最初から作成し直す必要がありますか?

ありがとう。

4

2 に答える 2

1

よくわかりませんが、次のようなものが機能するはずです。

$('input[type="checkbox"]').on('click', function(){
    var state = this.checked;
        func  = state ? show : hide;

    func(this.id);
    $(this).toggleClass('active', state);
});
于 2013-07-02T11:14:42.370 に答える
0

いくつかのわずかな修正の後、私は解決策を見つけました:

$('input[type="checkbox"] + label').click(function(){
        $(this).toggleClass('active');
      });

私のGoogleマップコードはjQueryと競合していたので、これは以下の別の機能です.

なぜこれが反対票を投じられたのか誰か教えてもらえますか? 次回だけ質問します。

ありがとう。

于 2013-07-02T11:49:43.223 に答える