我有多個複選框。檢查它們中的任何一個都會使div可見。不選中它們會隱藏div。它幾乎工作,感謝尼克(http://stackoverflow.com/questions/4337378/toggle-div-based-on-checkbox-value),除了我想多個複選框來切換分區。根據多個複選框切換div可見性
HTML:
<div id="somediv">
<input type="checkbox" class="form-checkbox" value="a" name="a">
<input type="checkbox" class="form-checkbox" value="b" name="b">
<input type="checkbox" class="form-checkbox" value="c" name="c">
<input type="checkbox" class="form-checkbox" value="d" name="d">
</div>
<div id="tog">tog content</div>
的jQuery:
var tog = $("#tog").hide();
$('#somediv .form-checkbox').change(function() {
if ($(tog).css('display') == 'none') {
tog.show();
}
});
還有一句:
var tog = $("#tog").hide();
$('#somediv .form-checkbox').change(function() {
$(tog).toggle(this.checked);
}).change();
我缺少什麼? 問題是取消選中其中一個(不是全部)隱藏div。 僅當沒有選中時才需要,然後隱藏。並且默認隱藏。 如果有任何選中,所以保持可見,不切換。
任何提示將非常感激。 謝謝
+1。使用:checked選擇器,然後檢查長度是一個非常優雅的解決方案。循環遍歷每個複選框並測試其checked屬性是另一種方法,但它需要比此更多的代碼。 – maxedison
完美。感謝美麗的代碼。 – swan