首页 文章

如何从ajax调用更新和发布复选框的值

提问于
浏览
0

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

$query="select * from student";
$result=mysql_query($query)or die(mysql_error());
while($rs=mysql_fetch_array($result))
{
?>
<tr>
      <td align="center"><?php echo $rs['st_id']; ?></td>
<td align="center"><?php echo $rs['name']"; ?></td>
<td align="center"><input type="checkbox" name="checked[]" <?php if($rs['checked']==1){echo "checked"; } ?> /></td>
<td align="center"><a href="delete_student.php?id="><img src="images/delete_icon.png" alt="Delete" /></a></td>
<td align="center"><a href="update_student.php?id="><img src="images/update.png" alt="Update" /></a></td>

这给了我输出
enter image description here

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

1 回答

  • 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() wihch返回name = value对,然后可以在调用php脚本时附加这些元素 .

相关问题