0

私はフォームを持っており、ユーザーがチェックボックスをチェックすると、JQuery post メソッドを使用してセッション変数を設定します。

私の質問: ユーザーが戻ってきて、以前にチェックしたボックスのチェックを外すことにした場合、セッション変数の設定を解除する簡単な方法はありますか?

HTML

<?php session_start() ?>
<html>
<head>




<script type="text/javascript">
        $(document).ready(function(){
var checkboxes = $(".chkbx").change(function() {
    var allIsChecked = checkboxes.length === checkboxes.filter(":checked").length;
    all[0].checked = allIsChecked;
    enableMyElement(checkboxes.filter(":checked").length > 0);
    putInSession($(this).val());
});
var all = $("#checkall").change(function() {
    checkboxes.attr("checked",this.checked);
    enableMyElement(this.checked);
});


  $("#myform").change( function () {    
              $.post(
               'actions.php',
               $(this).serialize(),
                function(data){
                  $("#results").html(data)
                }
              );
              return false;   
            }); 


  });
</script>

</head>


<body>
<form id="myform">
<input id="checkall" type="checkbox">
<input class="chkbx" type="checkbox" value="360" name="box1">
<input class="chkbx" type="checkbox" value="500" name="box2">
<input class="chkbx" type="checkbox" value="510" name="box3">
<input type="submit" value"Send" />
</form>

<div id="results">Will go here</div>

<?php print_r($_SESSION); ?>

</body>

</html>

処理スクリプト

<?php
session_start();
$post = $_POST;
foreach ($post as $key => $value) {
echo $key. "->" .$value; 
$_SESSION[$key] = $key;
}
?>
4

1 に答える 1

0

はい。jQuery 投稿でチェックボックスの状態 (チェック済み、チェックなし) を渡します。次に、処理スクリプトで、変数がチェックされているかどうかを確認し、$_SESSION変数を設定/設定解除できます。

if($_POST['checked']) {
    // your current foreach loop
} else {
    unset($_SESSION);
}
于 2013-02-13T21:53:17.387 に答える