要把第三个ajax循环出来的数据放在table表格的下面,可以通过在表格中插入新的行来实现。具体的做法是,在第二个ajax的success回调函数中,在循环结束后,再次插入新的行,并将第三个ajax循环出来的数据添加到新的行中。

以下是修改后的代码示例:

ck.click(function () {
    $("#ttt").val(data[i].vote_vtitled);
    subject_sid = data[i].subject_sid

    $.ajax({
        async: false,
        url: "/getSubject",
        type: "get",
        dataType: "json",
        data: {
            vote_vid: data[i].vote_vid
        },
        success: function (data) {
            // console.log(data);
            for (let i = data.length - 1; i >= 0; i--) {
                let timu = data[i];

                let xuanXiang = "";
                if (timu.subject_stype == "x") {
                    xuanXiang = "单选";
                } else if (timu.subject_stype == "t") {
                    xuanXiang = "多选";
                }

                var table = document.getElementById("tabl");
                // 在表格中插入一行【第一行插入】
                var row2 = table.insertRow(0);
                var rows = table.insertRow(0);
                var row = table.insertRow(0);

                var aa = row.insertCell(0);
                aa.innerHTML = '<div >' +
                    '【<input type="text" value="' + xuanXiang + '" style="border: none;width: 50px; color: #00a2d4;  white-space: nowrap; "disabled="disabled">】<span>' +
                    timu.subject_scontent + '</span></div><br>';
                $.ajax({
                    async: false,
                    url: "/getAnswer",
                    type: "get",
                    dataType: "json",
                    data: {
                        subject_sid: timu.subject_sid
                    },
                    success: function (resp) {
                        //  console.log(resp);
                        for (let j = 0; j < resp.length; j++) {
                            answer_aid = resp[j].answer_aid
                            subject_sid = timu.subject_sid
                            let mm = resp[j].answer_acontent

                            // 设置新行的display属性为block
                            rows.style.display = "block";
                            var radio = rows.insertCell(0);
                            radio.innerHTML = '<input  class="daan" value="' + mm + '" style="border: none;" type="text" disabled="disabled" >'
                        }
                        $.ajax({
                            async: false,
                            url: "/getdDateils",
                            type: "get",
                            dataType: "json",
                            data: {
                                subject_sid: subject_sid,
                                value: answer_aid
                            },
                            success: function (resp2) {
                                // console.log(resp2)
                                for (let j = 0; j < resp2.length; j++) {
                                    let value = resp2[j].value

                                    var cs = row2.insertCell(0);
                                    cs.innerHTML = '<input value="该选项被选择了' + value + '次" style="border: none; color: red " type="text" disabled="disabled" ><br>';
                                }
                            }
                        })
                    }
                });
            }
        }
    });
})

在这个修改后的代码中,我们使用了两个新的变量row2rows来表示新插入的行。在第二个ajax的success回调函数中,先插入row2这一行,然后再插入rows这一行,最后再插入row这一行。这样就能保证第三个ajax循环出来的数据被放在table表格的下面

ckclickfunction $#tttvaldataivote_vtitled; subject_sid = dataisubject_sid $ajax async false

原文地址: https://www.cveoy.top/t/topic/il0d 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录