我有一個複選框:當複選框被選中展開事業部
<input type="checkbox" name="mycheckbox" id="mycheckbox" value="0" />
<div style="display:none">
This content should appear when the checkbox is checked
</div>
有沒有人有一個簡單的方法來做到這一點?
我有一個複選框:當複選框被選中展開事業部
<input type="checkbox" name="mycheckbox" id="mycheckbox" value="0" />
<div style="display:none">
This content should appear when the checkbox is checked
</div>
有沒有人有一個簡單的方法來做到這一點?
這將顯示它時,複選框被選中,並再次隱藏它時,複選框取消選中:
$('#mycheckbox').change(function() {
$(this).next('div').toggle();
});
...雖然這將是更好,如果你分配一個DIV的ID,所以它可以更迅速地選擇:
<input type="checkbox" name="mycheckbox" id="mycheckbox" value="0" />
<div id="mycheckboxdiv" style="display:none">
This content should appear when the checkbox is checked
</div>
<script type="text/javascript">
$('#mycheckbox').change(function() {
$('#mycheckboxdiv').toggle();
});
</script>
http://jsfiddle.net/mblase75/pTA3Y/
如果你想顯示該div沒有再隱藏它,用.show()
代替.toggle()
。
爲什麼腳本必須在內容之後? – rlesko
因爲我沒有使用'$(document).ready'。如果你這樣做,那麼它不會。 – Blazemonger
你會如何解決我用這個函數的問題?如果我從div開始可見,選中複選框會使div消失,並取消選中它使其再次出現。 – rlesko
$("#mycheckbox").click(function() { $(this).next("div").toggle() })
附加一個change
事件,並檢查是否選中複選框。如果複選框被選中,顯示div。否則,隱藏它:
$('#mycheckbox').change(function(){
if(this.checked) {
$(this).next().show();
} else {
$(this).next().hide();
}
});
你也應該有一個看看jQuery docs,問這樣一個簡單的問題之前。
$("#mycheckbox").change(function(){
$(this).next().toggle(this.checked);
});
$("input#mycheckbox").click(function() {
if($(this).is(":checked") {
$("div").slideDown();
}
else {
$("div").slideUp();
}
})
if ($("#mycheckbox").checked) {
$("div").style.display = "block";
}
如果您正在尋找只CSS的解決方案,那麼這可以幫助你。
#toggle-content{
display:none;
}
#mycheckbox:checked ~ #toggle-content{
display:block;
height:100px;
}
請停止寫入感謝和標籤 - 尤其是那些傻! –
http://stackoverflow.com/search?q=javascript+toggle – c69