【问题标题】:How to change session with jquery?如何使用 jquery 更改会话?
【发布时间】:2017-09-18 16:02:04
【问题描述】:

在我选中一个复选框后,会话将填充id,但如果我选中另一个复选框,会话将不会改变。我有这样的代码:

<input type='checkbox' class='imei' id='a'>
<input type='checkbox' class='imei' id='b'>
<input type='checkbox' class='imei' id='c'>
$('.imei').change(function() {
  if (this.checked) {
    $('.imei').not(this).prop('checked', false);
    $.post('session_write.php', { 'imei': this.id });
  } else {  
    $.post('session_write.php', { 'imei': '' });
  }
});
<?
  session_start();
  if (isset($_POST['imei'])) 
  {
    $_SESSION['imei'] = $_POST['imei'];
  }
?>

【问题讨论】:

  • 你的复选框是.imei,但你的事件处理程序是.asd ...
  • 已编辑...错误类型...哈哈
  • 在这种情况下,您应该可以正常工作(尽管使用收音机比复选框更有意义)。您如何确定会话未更新。
  • @Wahyu 您在后端收到的价值是多少。你能把结果记录在这里吗?谢谢
  • 点击按钮时我正在使用警报...我已经尝试过了...只需将类和 id 名称与我的工作不同

标签: php jquery html ajax session


【解决方案1】:

尝试在你的 js 脚本中删除 else 语句及其代码,我的意思是

else {  
$.post('session_write.php', { 'imei': '' });
}

去掉这个,你只需要检查this.id,试试这个

$('.imei').change(function() {

   if ($( 'input.imei:checked').length < 1){
     $.post('session_write.php', { 'imei': '' } );
   }else {
     $('.imei').not(this).prop('checked', false);
     $.post('session_write.php', { 'imei': this.id });
  }

});

【讨论】:

  • 那只是为了确保用户在执行更多选项之前选中了一个复选框,所以如果所有复选框都未选中,我想让会话为空白
  • 然后将此if ( $( 'input.imei:checked' ).length &lt; 1){ $.post('session_write.php', { 'imei': '' } ); } 添加到您的onchangeevent 中
  • 我测试过,它工作正常。请在一些小提琴上传你完整的代码
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-17
  • 1970-01-01
  • 2014-01-03
  • 2016-12-01
  • 1970-01-01
  • 2016-05-12
相关资源
最近更新 更多