【问题标题】:jQuery show/hide div and form submitjQuery 显示/隐藏 div 和表单提交
【发布时间】:2012-12-10 16:46:31
【问题描述】:

如果选中了复选框 (div id="foldstate"),则会显示附加字段 (div class="fold") 的简单表单。

单击复选框会按预期隐藏/显示其他字段。

选中复选框,填写其他字段并使用 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");
        }
    });
});

【问题讨论】:

  • 复选框在折叠div之外
  • 能否也显示相关的HTML?问题代码的 jsfiddle 真的很有帮助。

标签: php jquery


【解决方案1】:

当您的复选框未选中时,.not() 函数将返回 JQuery 对象的集合或空集合。在这两种情况下,您的代码都将评估为 true,因此您始终会得到 display:none。

由于您是通过 ID 销售,我建议您替换此块:

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

通过这个:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-10
    • 2017-08-02
    • 2013-08-02
    • 2014-11-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多