【问题标题】:Keep checkbox checked, after refresh and submit保持复选框选中,刷新并提交后
【发布时间】:2016-05-08 02:56:23
【问题描述】:

我试图保持选中一个复选框,但是在我刷新页面后,如果选中该复选框,数据库将更新为“是”,但数据库会自动将其更新为“否”,即使复选框是与local.store核实,我希望有人可以帮助我。这是我的代码。

    <form action="" method="POST">
     <label for="option1">Waarschuwingsbericht inschakelen voordat het volgende pack wordt geopend als jou pack boven de 200.000 waard is?</label><input id='option1' type="checkbox" name="checkbox" value="yes"><br>
      <input type="submit" value="Opslaan en nog een pack openen">
    </form>
<?
    if(isset($_POST['checkbox'])){
        $sql = "UPDATE users SET puntenchecked = 'yes' WHERE username = '" . $usernamez . "'";
        $result = mysql_query($sql) or die('Query failed: ' . mysql_error());
    }
    else {
        $sql = "UPDATE users SET puntenchecked = 'no' WHERE username = '" . $usernamez . "'";
        $result = mysql_query($sql) or die('Query failed: ' . mysql_error());
    }
?>
<script>
$(function(){
    var test = localStorage.input === 'true'? true: false;
    $('input').prop('checked', test || false);
});

$('input').on('change', function() {
    localStorage.input = $(this).is(':checked');
    console.log($(this).is(':checked'));
});
</script>

【问题讨论】:

  • 你不需要这个$('input').prop('checked', test || false);。这应该足够了$('input').prop('checked', test);
  • 使用 checked 属性到 &lt;input type="checkbox"&gt; 基于 $_POST['checkbox'] 请求设置。看到这里stack answer已经做到了。

标签: javascript php jquery checkbox


【解决方案1】:

试试这个:

<input id='option1' type="checkbox" name="checkbox" value="yes" <?php echo (isset($_POST['checkbox']))? "checked='checked'": "";?> >

【讨论】:

    【解决方案2】:

    替换下面的JS逻辑:

    <script>
    $(function(){
        var test = localStorage.input === 'true'? true: false;
        $('input').prop('checked', test);
    });
    
    $('input').on('change', function() {
        localStorage.input = $(this).is(':checked');
        console.log($(this).is(':checked'));
    });
    </script>
    

    查看更多here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-10
      • 2015-01-22
      • 1970-01-01
      • 2016-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-24
      相关资源
      最近更新 更多