2015-05-11 159 views
0

我正在使用此https://github.com/simontabor/jquery-toggles插件切换我的页面上的元素。JQuery触发器 - 单击一个触发器应更新另一个触发器

插件在一个项目上正常工作。

$('.toggle').toggles({ 
    on: true, 
    text:{ 
     on:'COMPLETE', 
     off:'INCOMPLETE' 
    } 
}); 

$('.toggle').on('toggle', function (e, active) { 
    if(active) { 
     $(this).removeClass('off'); 
     $(this).addClass('on'); 
    } else { 
     $(this).removeClass('on'); 
     $(this).addClass('off'); 
    } 
}); 

但我有2个相同的元素,一个在顶部和一个在页面的底部。

我想同时更新(切换)。我试图只瞄准班,但没有工作:

$('.toggle').toggles({ 
    on: true, 
    text:{ 
     on:'COMPLETE', 
     off:'INCOMPLETE' 
    } 
}); 

$('.toggle').on('toggle', function (e, active) { 
    if(active) { 
     $('.toggle').removeClass('off'); 
     $('.toggle').addClass('on'); 
    } else { 
     $('.toggle').removeClass('on'); 
     $('.toggle').addClass('off'); 
    } 
}); 

任何想法?

我一直在使用的每个尝试,但它不是做得比较工作 http://giphy.com/gifs/3o85xxJ7f2fYakUzQs

+1

因为您想要移除并在多个元素上添加课程,您可以使用'each' ... – Random

+1

您有错字。如果你有'$(this)',你写了'$(。toggle)',但应该是'$('。toggle')' –

+0

谢谢Lelio,我已经更新了。我的代码中有''''。只是不int他问题 – GavinS

回答

1

尝试加入这一行

$('.toggle').toggles(active); 

成.on这样的活动

$('.toggle').toggles({ 
    on: true, 
    text:{ 
     on:'COMPLETE', 
     off:'INCOMPLETE' 
    } 
}); 


$(".toggle").on("toggle", function(e, active) { 

    $('.toggle').toggles(active); 

    if(active) { 
     $('.toggle').removeClass('off'); 
     $('.toggle').addClass('on'); 
    } else { 
     $('.toggle').removeClass('on'); 
     $('.toggle').addClass('off'); 
    } 

}); 
+0

谢谢,这似乎工作。该插件的文档不是很好,但是工作。 – GavinS

1

您需要seperately处理每一个元素:

$('.toggle').on('toggle', function (e, active) { 
    $.each($('.toggle'), function(index, element) { 
     if(element.hasClass('off')){ 
      $('.toggle').removeClass('off'); 
      $('.toggle').addClass('on');   
     } 
     if(element.hasClass('on')){ 
      $('.toggle').removeClass('on'); 
      $('.toggle').addClass('off');   
     } 
    }); 
}); 
+0

你有一个错字。你写了$(。toggle),但应该是$('。toggle') –

+0

你说得对。我刚刚从Op。谢谢! – ImreNagy

+0

你确定这段代码吗?我已经把'每个'放在'if'里面了。在这里你将看到两个不同的'on'和'off'状态的元素,并且同时切换两个... – Random