jamesyue 2022-10-22 14:20 采纳率: 83.3%
浏览 78
已结题

ajax刷新表格-django

想用ajax刷新列表,筛选出某个订单号

img

def citys(request, aid, org, cust, tk):
    lst = PaidClear(aid, org, cust, tk).got_solist         #后端传过来的列表
    return JsonResponse({'data': lst})
    <script src="/static/js/jquery-3.6.0.min.js"></script>
    <script>
        $(function(){
            $('#prov').click(function () {
                // 发起一个ajax请求
                pid = $('#mm').val()
                $.get('omvds/'+pid, function (data) {
                    var artTable = document.getElementById("myTable");//与表格的id对应
                    var artBody=artTable.tBodies[0];
                    artBody.parentNode.outerHTML = artBody.parentNode.outerHTML.replace(artBody.innerHTML, "");//每次递归先把上次递归的表格清除
                    var all_li = eval(data);
                    var all_list = eval(all_li.all_data);
                    var tb = document.getElementById('myTable');//与表格的id对应
                    var body = tb.querySelector('tbody');//找到对应表格的标签
                    for (let i = 0; i < all_list.length; i++) {
                    //设置表格每个单元的值
                        var fie = all_list[i].fields;
                        var tr = document.createElement('tr');
                        var td1 = document.createElement('th', scope = "col");
                        var td2 = document.createElement('td');
                        var td3 = document.createElement('td');
                        var td4 = document.createElement('td');
                        var td5 = document.createElement('td');
                        var td6 = document.createElement('td');
                        var td7 = document.createElement('td');
                        var td8 = document.createElement('td');

                        td1.innerHTML = fie.CO;
                        td2.innerHTML = fie.SO;       // 这里怎么加一个input?
                        td3.innerHTML = fie.PD;
                        td4.innerHTML = fie.SQ;
                        td5.innerHTML = fie.CU;
                        td6.innerHTML = fie.SM;
                        td7.innerHTML = fie.PS;
                        td8.innerHTML = fie.QT;

                        //设置完成后,将每一项插入到表格中
                        tr.append(td1);       
                        tr.append(td2);
                        tr.append(td3);
                        tr.append(td4);
                        tr.append(td5);
                        tr.append(td6);
                        tr.append(td7);
                        tr.append(td8);
                                       // 这里怎么插一列checkbox?
                        body.append(tr);}
                })
            })
        })
    </script>

{% endblock %}

{% block main %}
    <input type="text" name="find" id="mm">
    <button id="prov">筛选订单号</button>
            <table border="1" cellspacing="0" id="myTable">
            {% if pmt %}
                <tr>
                    <th style="width: 80px; font-size: 10px;">公司</th>
                    <th style="width: 100px; font-size: 10px;">销售订单号</th>
                    <th style="width: 100px; font-size: 10px;">订单日期</th>
                    <th style="width: 100px; font-size: 10px;">已发货数量</th>
                    <th style="width: 230px; font-size: 10px;">客户</th>
                    <th style="width: 90px; font-size: 10px;">订单金额</th>
                    <th style="width: 90px; font-size: 10px;">业务员</th>
                    <th style="width: 90px; font-size: 10px;">订单数量</th>
                    <th style="width: 230px; font-size: 10px;">最终客户</th>
                    <th style="width: 90px; font-size: 10px;">已核销</th>
                    <th style="width: 90px; font-size: 10px;">剩余可核销</th>
                    <th style="width: 60px; font-size: 10px;">选择</th>
                    <th style="width: 60px; font-size: 10px;">是否关闭</th>
                </tr>
            {% endif %}
        <form action="{% url 'Hm:getmnys' aid org cust %}" method="post">
        {% csrf_token %}

        {% for user in pmt %}
            <tbody>
                <tr class="to_sum" style="height: 30px; font-size: smaller">
                    <td>{{ user.0 }}</td>
                    <td><input hidden type="text" name="notpo" class="cpo" value="{{ user.1 }}" >{{ user.1 }}</td>   
                    <td style="text-align: right">{{ user.2 }}</td>
                    <td style="text-align: right">{{ user.3|floatformat:2 }}</td>
                    <td>{{ user.4 }}</td>
                    <td style="text-align: right">{{ user.5|floatformat:2 }}</td>
                    <td style="text-align: center">{{ user.6 }}</td>
                    <td style="text-align: right">{{ user.7 }}</td>
                    <td>{{ user.8 }}</td>
                    <td style="text-align: right">{{ user.9|floatformat:2 }}</td>
                    <td>
                        <input style="color: yellow; background-color: darkslateblue; text-align: right; width: 90px; " type="text" name="notme" class="killme" value="{{ user.10|floatformat:2 }}" >
                    </td>
                    <td><input type="checkbox" name="ckbox" class="box_ck" onclick="calculate()"></td>
                    <td style="text-align: center"><a href="{% url 'Hm:close_so' aid=aid org=user.0 cust=cust so=user.1 %}"><h7 style="color:yellow;">关闭</h7></a></td>
                </tr>
            </tbody>
        {% endfor %}
        <input type="submit" value="提 交">
        </form>
        </table>
  • 写回答

1条回答 默认 最新

  • 游一游走一走 2022-10-22 14:39
    关注
    
        function test(data) {
            var artTable = $('#myTable');//与表格的id对应
            var artBody = $('tbody', artTable);
            artBody.empty()
            var all_li = eval(data);
            var all_list = [{fields: {SO: '1', PD: '2'}}];
            for (let i = 0; i < all_list.length; i++) {
                var fie = all_list[i].fields;
                let tr = $('<tr>');
                $('<td>').text(fie.CO).appendTo(tr)
                $('<td>').append($('<input>')).appendTo(tr)
                $('<td>').text(fie.SO).appendTo(tr)
                $('<td>').text(fie.PD).appendTo(tr)
                $('<td>').text(fie.SQ).appendTo(tr)
                $('<td>').text(fie.CU).appendTo(tr)
                $('<td>').text(fie.SM).appendTo(tr)
                $('<td>').text(fie.PS).appendTo(tr)
                $('<td>').text(fie.QT).appendTo(tr)
                $('<td>').append($('<input>').attr('type', 'checkbox').click(function () {
                    calculate()
                })).appendTo(tr)
                tr.appendTo($(artBody))
            }
        }
    
    

    img

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 10月30日
  • 已采纳回答 10月22日
  • 创建了问题 10月22日

悬赏问题

  • ¥15 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化