使用jquery从sql追加行,结果将所有行追加到ad first td中

时间:2018-12-10 03:59:03

标签: javascript jquery html

我打算使用jquery从sql附加行,但导致所有行都附加到ad的第一个td中。

enter image description here

,代码是

<body>
    <table id="table">
    <thead><td>A</td><td>B</td><td>C</td><td>D</td><td>E</td><td>F</td><td>G</td></thead>
    </table>
</body>
</html>
<script>
$(document).ready(function(){
    var sql = "select*from test";
    $.ajax({
        url:"query.php",
        data:{
            sqls:sql
        },
        async:false,
        success:function(data){
            var returned_data = JSON.parse(data);
            for(var i=0;i<returned_data.length;i++){
                var temp_str = "<tr class='row'>";
                temp_str += "<td class='cell'>";
                temp_str += "<input class='cell_vale' type='text' value='";
                temp_str += returned_data[i]['firstcell']+"'>";
                temp_str += "</td>";
                ... the other 5 cells is same ...
                temp_str += "</tr>";
                $("table").append(temp_str);
            }
        }
    });
});
</script>

我尝试使用tbody但失败了,
还尝试删除了广告,
但是表格宽度不适合单元格,
如果一行中有很多单元格,则这些单元格可能会显示为两行,但只能显示一个tr。

有人可以帮助我吗?谢谢

1 个答案:

答案 0 :(得分:0)

首先,我建议您使用现代的数据绑定方法,以更轻松,更干净地实现您要执行的操作。看看VueJSReact,它们一定会帮您大忙!

第二,尝试将temp_str和行附件移到for..loop之外,像这样

var returned_data = [
    { firstcell: 'cell1' },
    { firstcell: 'cell2' },
    { firstcell: 'cell3' }
];

var temp_str = "";

for(var i = 0; i < returned_data.length; i++) {
    temp_str += "<tr class='row'>";
    temp_str += "<td class='cell'>";
    temp_str += "<input class='cell_vale' type='text' value='";
    temp_str += returned_data[i]['firstcell'] + "'>";
    temp_str += "</td>";
    temp_str += "</tr>";
}

$("table").append(temp_str);

看看它是否适合您?