2013-08-04 39 views
0

我有兩個系列的數據,並試圖通過點擊複選框隱藏他們,但數據系列不隱藏。問題隱藏我的數據與複選框

你可以在我的fiddle中看到我的數據系列。

這是我用來隱藏他們的代碼:

CSS

<input type="checkbox" checked="checked" class="messageCheckbox" value="line1" onclick="showOrHide(0);" />1 
<input type="checkbox" value="line2" checked="checked" class="messageCheckbox" onclick="showOrHide(1);" />2 

的Javascript

showOrHide = function (i) { 
    var selectt = document.getElementsByClassName("messageCheckbox")[i].value; 
    if (document.getElementsByClassName("messageCheckbox")[i].checked) { 
     document.getElementsByClassName(selectt)[0].style.display = 'none'; 
    } else { 
     document.getElementsByClassName(selectt)[0].style.display = 'block'; 
    } 
} 

回答

0

對於這一點,你需要設置屬性visibility - http://jsfiddle.net/TrpcW/4/


<body> 
    <div class="line1">data1</div><div class="line2">data2</div> 
    <input type="checkbox" class="messageCheckbox" value="line1" onclick="showOrHide(0);" unchecked />1 
    <input type="checkbox" value="line2" class="messageCheckbox" onclick="showOrHide(1);" unchecked />2 
</body> 

showOrHide = function (i) { 
    var selectt = document.getElementsByClassName("messageCheckbox")[i].value; 
    if (document.getElementsByClassName("messageCheckbox")[i].checked) { 
     document.getElementsByClassName(selectt)[0].style.visibility = "hidden"; 
    } else { 
     document.getElementsByClassName(selectt)[0].style.visibility = "visible"; 
    } 
} 
+0

將其標記爲答案,或者給予好評,如果它是正確的。謝謝! – GLES

+0

非常感謝您的回答,但我希望紅色圖表和藍色圖表可以隱藏並貼在複選框上顯示(複選框1用於藍色複選框,複選框2用於紅色複選框)正如您所見,我將「line1」和「line2」作爲複選框的值,但這是我得到的錯誤:「未捕獲的TypeError:無法讀取未定義的屬性」樣式「 – sasha

+0

提供小提琴,我將對其進行編輯。謝謝! – GLES