在提交表单时保持jQuery显示/隐藏状态 - php

我试图显示一个HTML块,如果选中了一个复选框,则使用jQuery。
一切正常,直到我提交表单为止(它基于服务器端规则显示表单错误)

但是在查看页面时,HTML块再次被隐藏。

提交表单后,如何在“显示”中保持HTML块的状态?

我正在使用以下内容:

$(document).ready(function(){
    //Hide div w/id extra
   $(".test").css("display","none");

    // Add onclick handler to checkbox w/id checkme
   $("#yes").click(function(){

    // If checked
    if ($("#yes").is(":checked"))
    {
        //show the hidden div
        $(".test").show("fast");
    }
    else
    {
        //otherwise, hide it
        $(".test").hide("fast");
    }
  });

});

参考方案

您可以做什么:

在表单中添加隐藏的输入。选中/取消选中时更改其值。

通过提交刷新页面时,请检查隐藏字段的值(通过$ _POST或$ _GET),并在需要时添加属性selected =“ checked”。

然后应选中复选框,HTML应该可见。

这对我有用

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
</head>
<body>
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post">
 <input type="hidden" id="verifyCheckbox" name="verifyCheckbox" <?php
  if(isset($_POST['verifyCheckbox']) && $_POST['verifyCheckbox'] == "true")
  {
   echo 'value="true"';
  }
 ?>/>
 <input type="checkbox" id="yes" 
 <?php
  if(isset($_POST['verifyCheckbox']) && $_POST['verifyCheckbox'] == "true")
  {
   echo 'checked="checked"';
  }
 ?> />
 <input type="submit" />
</form>
<div class="test">
 <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus a facilisis risus. Nam quis sapien turpis, non porttitor ante. In vulputate arcu non diam porttitor vulputate. Aenean leo est, adipiscing a egestas ut, dapibus sit amet purus. Quisque pellentesque mi ac orci placerat congue. Nulla sodales mollis arcu sed viverra. Integer id metus turpis. Vivamus interdum convallis sagittis. Quisque quis tellus ante, a consequat eros. Donec tincidunt luctus dolor. Nulla pulvinar, odio et consectetur dictum, mauris massa vulputate magna, et pretium mauris tortor vel nibh. Donec quis tortor lacus, sed fringilla dui. Duis diam nulla, faucibus vel malesuada quis, auctor nec lorem. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Etiam iaculis tristique mauris vitae facilisis. Nulla facilisi. Nulla non nisl id lacus laoreet auctor sit amet non tellus. Vestibulum quis nibh sed ligula tempor scelerisque. Nunc pretium dapibus convallis. Proin pulvinar, tellus vitae imperdiet rhoncus, elit justo scelerisque libero, nec iaculis lacus turpis ut est.</p>
</div>
<script type="text/javascript">
$(document).ready(function(){
  //Hide div w/id extra
   $(".test").css("display","none");

    // Add onclick handler to checkbox w/id checkme
   $("#yes").click(function(){

    // If checked
    if ($("#yes").is(":checked"))
    {
        //show the hidden div
  $("#verifyCheckbox").val("true");
        $(".test").show("fast");
    }
    else
    {
        //otherwise, hide it
  $("#verifyCheckbox").val("false");
        $(".test").hide("fast");
    }
  });

  <?php
  if(isset($_POST['verifyCheckbox']) && $_POST['verifyCheckbox'] == "true")
  {
   echo '$(".test").show();';
  }
 ?>

});
</script>
</body>
</html>

jQuery不起作用 - php

我正在使用带有ajax的jquery。有时,给出错误$未定义。这是我的代码:<script language="javascript" type="text/javascript"> var base_path="<? echo $this->baseUrl().'/…

Div单击与单选按钮相同吗? - php

有没有一种方法可以使div上的click事件与表单环境中的单选按钮相同?我只希望下面的div提交值,单选按钮很丑代码输出如下:<input id="radio-2011-06-08" value="2011-06-08" type="radio" name="radio_date&#…

PHP-复选框组 - php

我有一个需要发布的表单复选框组。<input type="checkbox" value="true" checked name="chk0[]"> <input type="checkbox" value="false" name=…

PHP:正则表达式匹配短语不包含特定单词 - php

我已经厌倦了寻找足够接近的例子,花时间寻求一些快速帮助!这是我的代码:preg_match_all( '#<li.*?>.*?</li>#s', $card_html, $activity ); 我想对其进行修改,以使<li.*?>排除单词Unplayed。 (单词出现在.*?之后和>之前。编辑:…

jQuery如果选中则启用动态输入文本 - php

我正在使用PHP生成具有表格的表格,例如:<table class="table table-hover"> <thead> <tr> <th class="table-checkbox"> </th> <th> Description </…