页面刷新后JQuery Remove会回来吗?

时间:2018-04-05 10:24:24

标签: javascript php jquery

您好我正在使用JQuery删除,当刷新页面时,它会删除已删除的项目

有谁知道为什么?我需要这个来隐藏/移除页面。

JQUERY

<script>
$(document).ready(function(){
    $("#button").click(function(){
        $("#div1").remove();
    });
});
</script>

PHP

while($row=$query->fetch(PDO::FETCH_ASSOC) and ($counter < $maximumAmount))  
 {      
   echo "<div id='div1'>"."".$row["1"].""."<img src=/".$row['2']."' width='150' height='150' />"."<br><br>".$row["3"]."

<form method='POST'><input type='hidden' name='ID' value= '".$row['ID']."'>
<input type='submit' name='submit' value='' id='button' ></form></div>";            

1 个答案:

答案 0 :(得分:1)

使用jQuery进行的任何操作仅在当前页面的生命周期内有效。重新加载页面后,所有这些更改都将丢失。

如果您希望按钮保持隐藏状态,则需要将该信息存储在某处。您可以向服务器发出请求并将其存储在首选项中,因此下次重新加载PHP代码时可以隐藏按钮。您还可以使用localStorage将其隐藏起来:

<script>
$(document).ready(function(){
    var div1Removed = localStorage.getItem('div1_removed');
    if (div1Removed) {
        $("#div1").remove();
    } else {
        $("#div1").show();
    }
    $("#button").click(function(){
        $("#div1").remove();
        localStorage.setItem('div1_removed', 'true');
    });
});
</script>

在PHP代码中,我们将display: hidden添加到div中,因此它最初是隐藏的。页面加载时,JavaScript代码将检查它是否应该可见。如果它应该,那么它使它可见。如果它不应该,那么它将完全删除它。

while($dbRow=$dbQuery->fetch(PDO::FETCH_ASSOC) and ($cnt < $max))  
 {      
   echo "<div id='div1' style='display: hidden;'>"."".$dbRow["Name"]."</h4><br>"."<br><img src=/".$dbRow['Picture']."' width='150' height='150' />"."<br><br>".$dbRow["Instructions"]."

<form method='POST'><input type='hidden' name='MealID' value= '".$dbRow['MealID']."'>
<input type='submit' name='submit' value='Complete' id='button' ></form></div>";            
$cnt++;