Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Выбор элемента одного элемента из двух (https://javascript.ru/forum/jquery/64797-vybor-ehlementa-odnogo-ehlementa-iz-dvukh.html)

Alexbelkevich 06.09.2016 10:39

Выбор элемента одного элемента из двух
 
Здравствуйте.
Есть верстка .
В третьем блоке (после шапки и слайдера) с левой стороны есть выбор меню: Первое, Второе, Гарнир, Салат.
Как можно сделать так, чтобы был выбор:
Отдельно между элементами первого, отдельно между элементами второго и т.п.
Сейчас у меня выборка происходит вообще по всем элементам...

Вот "велосипед", который у меня получился
$('.menu-element .menu-element-dish-img').click(function() {
        $('.set-no-order').hide();
        $('.set-order').show();
        $('.menu-element-dish-img').removeClass('active');
        $(this).addClass('active');
    });


Спасибо заранее

рони 06.09.2016 11:42

Alexbelkevich,
не особо понятно, что вы хотите сделать
может так?
$('.menu-element-dish-img').click(function() {
        $('.set-no-order').hide();
        $('.set-order').show();
        //$('.menu-element-dish-img').removeClass('active');
        $(this).toggleClass('active');
    });

Alexbelkevich 06.09.2016 11:47

Цитата:

Сообщение от рони (Сообщение 427823)
Alexbelkevich,
не особо понятно, что вы хотите сделать
может так?
$('.menu-element-dish-img').click(function() {
        $('.set-no-order').hide();
        $('.set-order').show();
        //$('.menu-element-dish-img').removeClass('active');
        $(this).toggleClass('active');
    });

Тогда получится, что все будет выделяться.
По другому объясню.
Из категории "Первые блюда" можно выбрать один из двух блюд.
И из категории "Вторые блюда" можно выбрать один из двух и т.п.

Manyasha 06.09.2016 12:21

Alexbelkevich,
так попробуйте:
$('.menu-element').each(function() {
		var elems = $(".menu-element-dish-img", this);
		elems.click(function(){
			$('.set-no-order').hide();
			$('.set-order').show();
			elems.removeClass('active');
			$(this).addClass('active');
		});
	});

Alexbelkevich 06.09.2016 12:49

Цитата:

Сообщение от Manyasha (Сообщение 427827)
Alexbelkevich,
так попробуйте:
$('.menu-element').each(function() {
		var elems = $(".menu-element-dish-img", this);
		elems.click(function(){
			$('.set-no-order').hide();
			$('.set-order').show();
			elems.removeClass('active');
			$(this).addClass('active');
		});
	});

Спасибо большое! Самое то! А вопрос еще один. Можно ли сделать так, чтобы на активный элемент нажал - и выделение пропало. Если это, конечно, не сложно. Вы и так очень помогли

рони 06.09.2016 13:06

Цитата:

Сообщение от Alexbelkevich
чтобы на активный элемент нажал - и выделение пропало.

строки 6-7 заменить на
elems.not($(this).toggleClass('active')).removeClass('active');

Alexbelkevich 07.09.2016 10:40

рони,
Спасибо большое! Только + не могу вам почему-то поставить :(


Часовой пояс GMT +3, время: 13:27.