2015-04-21 35 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

有幾點我認爲需要澄清。您瞄準的具體功能是什麼?你是指「活躍」的標籤是什麼意思。你的意思是選擇了單選按鈕嗎?這是標準的單選按鈕行爲。另外,在你的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

你好,謝謝你的回答,我道歉,如果我不是很清楚,這幾乎是我想要的,除了事實我希望它同時選擇2個單選按鈕,當兩個單選按鈕同時打開時,我必須顯示一個圖形,但我有很多單選按鈕,因此我必須檢查選擇了哪個單選按鈕以顯示相應的圖表。 –

+0

好的。希望演示應該足以繼續。對於多個獨立的單選按鈕,請確保將其'name'屬性更改爲不同的值。 – ne1410s