我試圖隱藏一個段落,當複選框未選中時,現在我只能在顯示它時進行檢查。複選框未選中時無法隱藏段落
這裏是我的jQuery:
$('.pharmacy').click(function(){
$('.pcsoc').show();
});
我能做些什麼隱藏的段落時,不被選中?
我試圖隱藏一個段落,當複選框未選中時,現在我只能在顯示它時進行檢查。複選框未選中時無法隱藏段落
這裏是我的jQuery:
$('.pharmacy').click(function(){
$('.pcsoc').show();
});
我能做些什麼隱藏的段落時,不被選中?
綁定到變化事件,而不是:
$('.pharmacy').change(function(e){
$('.pcsoc').toggle();
});
或者你可以檢查是否,使自己隱藏/顯示(更多防彈)。
$('.pharmacy').change(function(e){
if ($(this).is(':checked'))
$('.pcsoc').show();
else
$('.pcsoc').hide();
});
嘗試:
$('.pharmacy').click(function(){
$('.pcsoc').toggle();
});
注意,使用'切換()'可能可能導致選中/取消選中狀態走出去與顯示/隱藏狀態同步。 – 2011-06-01 18:53:41
你需要如果選中或取消選中測試:
$('.pharmacy').click(function(){
if ($(this).is(':checked')) {
$('.pcsoc').show();
}
else $('.pcsoc').hide();
});
編輯它可能會更好布拉德·克里斯蒂的建議綁定到change()
方法。
我喜歡這個。在表單打開時無法預測check_box的狀態的可能情況下,彈性更大。 – sscirrus 2011-06-01 18:53:32
你需要將'$(this)'包裝在一個jQuery對象中以訪問'.is()' – 2011-06-01 18:54:28
您可以檢查複選框被選中,並做出適當的反應:
$('.pharmacy').click(function() {
if(this.checked)
$('.pcsoc').show();
else
$('.pcsoc').hide();
});
演示以及:http://jsfiddle.net/bradchristie/TPuB8/ - 和()是這裏的版本:http://jsfiddle.net/bradchristie/TPuB8/1/ – 2011-06-01 18:53:28