-1

我发现通常在 jQuery 中添加一个活动的类很容易,但这次我试图将它实现为一段与谷歌地图连接的代码。

我使用 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');
      });

我的谷歌地图代码与 jQuery 冲突,所以这是下面的一个单独的函数。

有人可以告诉我为什么这被否决了吗?只是为了下次我问一个问题。

谢谢。

于 2013-07-02T11:49:43.223 回答