2013-04-07 3 views
0

Если у меня есть два элемента div, в которых пользователям предлагается выбрать один из двух вариантов.jquery toggle class между divs

Я хотел бы показать, что пользователь нажал на него, поэтому, когда пользователь нажимает на элемент, класс добавляет некоторый стиль.

Прямо сейчас у меня есть только основы. Пользователь может выбрать только один из двух элементов. Поэтому, если пользователь уже нажимает на один элемент, есть стиль. Если пользователь решил нажать на другой элемент, предыдущий щелчок будет удален, а затем добавит стиль к новому клику.

$(".ind").on("click", -> 
    $(this).toggleClass("selected") 
); 

Надеюсь, кто-то может направить меня, спасибо!

ответ

2
$(".ind").on "click", -> 
    $(this).siblings(".ind").removeClass("selected") 
    $(this).toggleClass("selected") 
+0

Я отредактировал ваш код, чтобы быть CoffeeScriptier. Надеюсь, с тобой все в порядке. – icktoofay

+0

@icktoofay: нет проблем. Спасибо брат. :) – mithunsatheesh

+0

Удивительное спасибо! – hellomello

4

Дайте как Div один и тот же класс:

<div class="ind targetDiv">This is div 1</div> 

<div class="targetDiv">This is div 2</div> 

Затем вы можете использовать JQuery:

$(".targetDiv").on("click", function() { 
    $(this).toggleClass('selected').siblings().removeClass('selected'); 
}); 

Demo

1

Необходим для проекта и обнаружил, что если вы нажмете уже выбранный элемент, он просто удалит класс все вместе.

Итак, добавьте это, надейтесь, что кто-то сможет его использовать.

$(".view-type .type").click(function() { 
     if (!$(this).hasClass("checked")) { 
      $(this).addClass("checked").siblings(".type").removeClass("checked"); 
     } 
    });