首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从数据库中多次删除的Post复选框值

从数据库中多次删除的Post复选框值
EN

Stack Overflow用户
提问于 2012-07-28 18:29:34
回答 3查看 3.5K关注 0票数 1

截图:

我想从数据库中删除行与jQuery一样在屏幕截图。我看了150多篇关于jQuery的教程。但我是新手。我知道jquery post的用法。但我不能准确地处理它。

代码语言:javascript
复制
<script type="text/javascript">
                        $('#cart_delete_button').click(function(){
                            var deleteditems = $('input:checkbox[name="delete_cart[]"]:checked')
                                    .map(function() { return $(this).val() })
                                    .get()
                                    .join(",");
                           //alert(deleteditems);
                           $.post('post.php',{deleteditems: deleteditems},function(data){
                               $('.loading').text(data);
                           });
                        });
                    </script>

我写了这段删除代码,但我想立即删除tr。我该怎么做呢?

EN

回答 3

Stack Overflow用户

发布于 2012-07-28 18:40:20

这是一项相当艰难的工作,尤其是在提供的信息较少的情况下。但总得有人做这件事...不管怎样..。

第一,

1)您必须使用数据库中的值填充您的表。2)构造时,将每一行的数据库ID分配给checkbox元素。

当您单击复选框时,获取其ID of selected复选框并通过$.ajax将其传递到数据库,然后在那里执行删除操作...

问题并不完全是jQuery造成的。PHP和jQuery都需要以一些有趣的方式来使用。再多的DVD观看和读书也不会对你有帮助。你一定要弄脏你的手。

此外,首先要考虑你想要做什么。列出所有的用例,确定一个坚定的方法,然后开始编写代码。从长远来看,这是有帮助的。

如何解决这个问题?

假设您正在使用从服务器返回的JSON格式的数据构建表。

假设您的JSON是

代码语言:javascript
复制
var json =  {
        "data": [
            {
                "itemID": "1",
                "itemName": "Item Name1"
            },
            {
                "itemID": "2",
                "itemName": "Item Name2"
            }
        ]
    }

在构建您的表时,

创建复选框时,如下所示

代码语言:javascript
复制
for(var i=0;i<json.data.length;i++){
var cBox = jQuery("<inout />",{type="checkbox",id=json.data[i].itemId});
$("#yourTargetID").append(cBox);
}

check处理程序附加到这些元素以进行ajax调用。

喜欢

代码语言:javascript
复制
$("#cBoxId").on('click',function(){
    if($(this).attr('checked'=='checked')){
        $.post('yourphpfile.php',{data:$(this).attr(id)},function(data){
            if(data==1){
                $(this).parent().parent().remove(); // just a placeholder as I do not know your exact DOM structure.
            }else {
                alert("Something went wrong");
            }
        });
    }
});

在PHP上

代码语言:javascript
复制
$id = $_POST['data'];

$query = "DELETE FROM tablename WHERE itemId = $id";
$result = mysql_query($query);

if($result){
    echo 1;
}
else {
    echo 0;
}
票数 1
EN

Stack Overflow用户

发布于 2012-07-28 18:37:28

为此,我建议使用jqGrid (或任何其他基于jquery的网格)。它非常简单和直接。

Here是基于Spring的管理教程。

希望能有所帮助。

票数 0
EN

Stack Overflow用户

发布于 2012-07-28 19:03:10

例如,在使用PHP生成html时,您可以从DB中获取行,并使用主键列值将ids指定给复选框,然后使用:

代码语言:javascript
复制
$('input[type=checkbox]').bind('change', function() {
  $.ajax({
    type: 'POST',
    url : 'delete.php',
    data : {row_id: $(this).attr('id')},
    success : function() {
      $(this).closest('tr').remove(); //or whatever html you use for displaying rows
    }
  });
});

在delete.php中:

代码语言:javascript
复制
$id = $_POST['row_id'];
if (mysql_query("DELTE FROM TABLE WHERE id = $id")) echo 'OK';
else echo 'FAIL'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11700205

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档