【问题标题】:how to update and post the value of checkbox from ajax call如何从ajax调用更新和发布复选框的值
【发布时间】:2011-06-16 08:55:23
【问题描述】:

我从 mysql 表中检索数据到 html 页面,即

$query="从学生中选择 *";
$result=mysql_query($query) 或死(mysql_error());
而($rs=mysql_fetch_array($result))
{
?>




 />




这是给我的输出

假设 id 1 的复选框被选中并从 mysql 表中检索。
现在我想要做的是,当我将剩余的两个复选框选中到此表中时,一个函数被调用到 ajax,该函数转到 php 页面并根据给定的 id 更新选中字段的值(即 2 和 3在这种情况下)。不刷新整个页面,也不更新整个记录,只是复选框的值。
我是 ajax 新手,所以 任何帮助将不胜感激。

【问题讨论】:

  • 查看 jqgrid,他们可以选择编辑行trirand.com/blog/jqgrid/jqgrid.html
  • 您的复选框名称包含无效字符。
  • @conqentor: 有不止一个复选框,可能不止一个复选框要更新,我用数组命名它

标签: php javascript ajax


【解决方案1】:

是的,探索 jqGrid 一点也不浪费时间。但是,由于您只想在复选框值更改时更新。这是你可以做的..

<input type="checkbox" name="check1"  />

还有..

$().ready(function(){
  var st_id = <?php echo $rs['st_id']; ?>;
  //Or you could use a hidden field in the form

  $(':checkbox').click(function(){
    var chkName = $(this).attr('name');
    var checkVal = $(':checkbox[name='+chkName+']').attr('checked');//true or false
    $.ajax({
      url: 'MyApp/update.php?checboxName=' + checkVal,//Do update on server-side
      success: function(data) {
        alert('Updated successful.');
      }
    });
  });
});

此外,您还可以执行 $('formID').serialize() 来返回所有表单元素的名称=值对,然后可以在调用您的 php 脚本时附加这些元素。

【讨论】:

  • 但我怎样才能将 st_id 发送到更新页面,以便它可以更新相关记录,并注意复选框是从 mysql 表动态填充的
猜你喜欢
  • 2011-06-17
  • 1970-01-01
  • 1970-01-01
  • 2014-02-05
  • 1970-01-01
  • 1970-01-01
  • 2016-11-05
  • 1970-01-01
  • 2012-11-28
相关资源
最近更新 更多