zoukankan      html  css  js  c++  java
  • django+ajax实现简单的批量删除

    views.py

    def deleteall(request):
      list = request.POST.getlist("val")
      if request.method =='POST':
      all = request.POST.getlist('val')
    
      for i in all:
        if i!='':
          a = Student.objects.get(id=i)
          a.delete()
      return redirect(reverse('allstu'))
    return redirect(reverse('allstu'))

    urls.py

         

     path('all/deleteall/', views.deleteall,name = 'deleteall')

    html

        {% for stu in stus %}
            <tr>
                <td><input type="checkbox" onclick="aa()" name="itme" value="{{ stu.id }}"></td>
                <td>{{ forloop.counter }}</td>
                <td>{{ stu.sname }}</td>
                <td>{{ stu.clazz.cname }}</td>
                <td><a href="{% url 'delete' id=stu.id %}">删除</a></td>
                <td><a href="{% url 'update'  sid=stu.id %}">修改</a></td>
            </tr>
        {% endfor %}
        <tr>
            <td><a href="{% url 'deleteall' %}" onclick="a()">批量删除</a></td>
        </tr>
    
        <tr>
            <td><a href="/add/" style="margin: 0 auto">增加</a></td>
        </tr>
    
    
    </table>
    <script>
        onload = function () {
            alert('欢迎' + "{{ user }}")
            return false;
        }
    </script>
    <script>
        function aa() {
            var one = document.getElementsByName('itme');
            one.checkbox = true;
        }
    
        function a() {
            var vlist =[]
            var ones = document.getElementsByName('itme')
    
            for (var i=0; i<ones.length; i++) {
                if (ones[i].checked === true) {
                    {#console.log(ones[i].value)#}
                    vlist.push(ones[i].value)
    
                }
    
            }
            console.log(vlist);
            {#alert(vlist)#}
            if (vlist.length !== 0) {
                {#console.log(vlist);#}
                $.ajax({
                    url: "deleteall/",
                    contenType: 'application/json',
                    type: 'POST',
                    //不加这个,ajax会将结果后边加个[],例如{'vals[]':[4,6,8]}
                    traditional: true,
                    //不加这个,会报服务器终止了一个在运行的程序
                    async: false,
                    data: ({
                        'val': vlist
                    }),
                    success: function () {
                        alert("删除成功");
                    },
                    error: function () {
                        alert("删除失败");
    
                    },
    
                })
            } else {
                var error_m = "请选择数据";
                alert(error_m);
            }
    
        }
    </script>

     

     

     

    个人小站,欢迎访问!http://klvr.xyz
  • 相关阅读:
    .Net/C# 应用程序直接读取本地 Cookies 文件(WinXP SP2 调用 API: InternetGetCookie 无果)
    wininet.dll函数库:不会过期的cookie
    WinForm中TextBox控件循环自动滚动示例
    JScript中Date.getTime转.Net中的DateTime
    js gettime c# ticks
    mysql查看整库个表详情
    rds分区实践
    mysql5.7.21源码安装
    EXPLAIN详解
    C#基础温习(4):C#中string数组和list的相互转换
  • 原文地址:https://www.cnblogs.com/xxks/p/14097368.html
Copyright © 2011-2022 走看看