2015-04-21 2 views
-1

У меня есть большая проблема: у меня есть два основных ярлык функция Javascript как для активного label.hasClass

<label id="label1" class="btn btn-transparent grey-salsa btn-circle btn-sm label1 active" onclick="showSomething($(this));"> 
         <input type="radio" name="options" class="toggle" id="Radio2" />Label1</label> 
        <label id="label2" class="btn btn-transparent grey-salsa btn-circle btn-sm label2" onclick="showSomething($(this));"> 
         <input type="radio" name="options" class="toggle" id="Radio3" />Label2</label> 

, а также JavaScript функция showSomething

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

function showSomething (labelJQ) { 
    if (labelJQ.hasClass ('active')) 
        return; 
    else { 
        if (labelJQ.hasClass('label1')) { 
            if (labelJQ.hasClass('label2')) { 
                $('#Chart1').hide(); 
                $('#Chart2').hide(); 
                $('#Chart1,2').show(); 
            } 
     } 
    } 
} 

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

+0

Есть несколько моментов, которые, как мне кажется, нуждаются в разъяснении. Какую именно функциональность вы нацеливаете? Что вы подразумеваете под ярлыком «active». Вы имеете в виду, что переключатель выбран? Это стандартное поведение переключателя. Кроме того, в вашем html вам не нужно вставлять радиокнопки * внутри * элемента ярлыка. Наконец, ваши вызовы jQuery выглядят недействительными. Например, удалите пробелы и используйте строчные буквы: '$ ('# myId'). Hide();' – ne1410s

ответ

0

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

Я думаю, что ваш Jquery является важной частью вопроса здесь. Я считаю, что это понятнее, если вы назначаете щелчок обработчик изменения в способ, подобный следующему:

$('input[type=radio]').change(function() { 
    $('.chart').hide(); 

    if (this.id == 'option1') { 
     $('#chart1').show(); 
    } else if (this.id == 'option2') { 
     $('#chart2').show(); 
    } 
}); 

Я собрал демо с оригинального входа здесь:

https://jsfiddle.net/g8wkwdo4/2/

Надеюсь, это поможет!

+0

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

+0

А, ок. Надеюсь, демо должно быть достаточно, чтобы продолжить. Для нескольких независимых переключателей обязательно измените их атрибуты «имя» на разные значения. – ne1410s

Смежные вопросы