【问题标题】:PHP Checkbox stay checked or unchecked on page refreshPHP Checkbox 在页面刷新时保持选中或取消选中
【发布时间】:2019-02-01 15:23:55
【问题描述】:

我有一个每 9 秒自动刷新一次的页面。

还有一个像这样的复选框回显:

echo "<li><b>DHCP Starved?</b> <input type ='checkbox' id ='DHCPs'> </li>";

页面上有一个复选框,但页面刷新后它会取消选中。

如果它被选中,我如何让它保持选中状态,如果它未被选中,我如何让它保持选中状态。

PS:我对 Jquery 也一无所知,一般来说,我对 PHP/HTML 还是很陌生。

文件夹树:

上面这行代码在这个文件夹树的index.php中

【问题讨论】:

  • 当您刷新页面时检查操作已经消失,您需要一些持久的方法来保存该操作,可能是 cookie 或本地存储

标签: php jquery html


【解决方案1】:

您可以简单地使用 jQuery 来监听选中的事件并将值设置为 localStorage。

  $(function() {
    $("#DHCPs").attr("checked", localStorage.getItem("DHCPs_checked") == "true");

    $("#DHCPs").click(function() {
      if ($(this).is(":checked")) {
        localStorage.setItem("DHCPs_checked", "true");
      } else {
        localStorage.setItem("DHCPs_checked", "false");
      }
    });
  });

【讨论】:

  • 你好,这个怎么用?我只是在我的行之后添加它吗?
  • 将其添加到您的 html 文件中
  • 有一个问题,我的 HTML 和 PHP 在同一个“页面”中。
  • 你可以在.php文件中编写html代码,放在''之后
  • 你能给我一个例子吗?
【解决方案2】:

您需要从数据库中提取数据并运行这样的测试

    echo "<li><b>DHCP Starved?</b> <input type ='checkbox' id ='DHCPs' <?php 
($data)?'checked':''; ?> > </li>"

【讨论】:

    【解决方案3】:

    您可以尝试以下方法(未经测试):

    $('#DHCPs').on('click', function() {
      if ($('#DHCPs').is(':checked')) {
        localStorage.setItem('dhcps', 'checked');
      } else {
        localStorage.setItem('dhcps', 'unchecked');
      }
    }
    

    现在您可以使用 localStorage.getItem 来检查复选框状态。

    【讨论】:

    • 你好,这个怎么用?我只是在我的行之后添加它吗?
    • @Kyaw 的答案更完整,什么可能对你更好。您需要在 中实现 jQuery
    • 嗨,我看到了他的评论,但我不知道该怎么办?你能给我一个例子吗?
    【解决方案4】:

    试试这个:

    echo "<li><b>DHCP Starved?</b> <input type ='checkbox' id ='DHCPs' name='DHCPs' checked> </li>";
    

    在您的 php 代码中。您可以在此处输入要插入的值,而不是 0 或 1

    'DHCPs' => ($this->input->post('DHCPs') == "on") ? 1 : 0
    

    【讨论】:

    • 这将始终选中该框,如果我取消选中该框并刷新,该框将再次被选中。 OP询问刷新后如何保留复选框的状态。
    猜你喜欢
    • 2017-07-09
    • 2017-12-14
    • 2021-05-17
    • 2011-03-11
    • 1970-01-01
    • 2013-08-17
    • 1970-01-01
    • 2018-11-05
    相关资源
    最近更新 更多