2012-12-10 43 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"); 
}