2012-12-10 44 views
0

如果標記了複選框(div id =「foldstate」),將顯示其他字段(div class =「fold」)的簡單表單。jQuery顯示/隱藏div和表單提交

點擊複選框按預期隱藏/顯示其他字段。

檢查複選框,填寫附加字段並提交(預覽)的形式輸入用php某些服務器端驗證顯示了選中複選框,但折了還是<div class="fold" style="display: none;">

哪裏是我的錯?

我的jQuery代碼:

$(document).ready(function() { 
    if ($("#foldstate").not(":checked")) { 
     $(".fold").css("display","none"); 
    } 
    $("#foldstate").click(function(){ 
     if ($("#foldstate").is(":checked")) { 
      $(".fold").show("fast"); 
     } 
     else { 
      $(".fold").hide("fast"); 
     } 
    }); 
}); 
+0

複選框是摺疊DIV – vbd

+0

你能也顯示外相關的HTML?問題代碼的一個jsfiddle將非常有幫助。 –

回答

1

的。不是()函數將返回jQuery對象或無論是空集的集合,時不會檢查你的複選框。在這兩種情況下,您的代碼都會評估爲true,以便您始終可以顯示:無。

由於您受到ID sellecting,我建議您更換此塊:

if ($("#foldstate").not(":checked")) { 
    $(".fold").css("display","none"); 
} 

通過這樣的:

if (!$("#foldstate").attr("checked")) { 
    $(".fold").css("display","none"); 
}