为了账号安全,请及时绑定邮箱和手机立即绑定

带 foreach 的循环插入

带 foreach 的循环插入

偶然的你 2021-08-20 15:01:22
我想插入到多行数据库表中。HTML:<tr><td style="display:none"><input type="text" rows="4" name="teste[]" value="<?php echo $produto8["Id"]; ?>"></td><td><textarea rows="4" name="Notas[]" value="<?php echo $produto8["Notas"]; ?>"></textarea></td><td><select class="form-control" name="EstadoFinal[]"><?php echo $produto8["EstadoFinal"]; ?><option value=<?php echo $ln['Id']; ?>><?php echo $ln['Estado']; ?></option><?php        $sql = "SELECT * FROM raddb.Status WHERE Id IN ('8') ORDER BY Estado ASC";$qr = mysqli_query($conn, $sql);while($ln = mysqli_fetch_assoc($qr)){echo '<option value="'.$ln['Id'].'">'.$ln['Estado'].'</option>';}?>      </select></td> </tr> 数据提交:function inserir_registo8(){      var dadosajax = {     'Id' : $("input[name^='teste']").val(),     'Notas' : $("textarea[name^='Notas']").val(),     'EstadoFinal' : $("select[name^='EstadoFinal']").val()    };    console.log(dadosajax);    $.ajax({        url: './resolucaooratorio',        type: 'POST',        cache: false,        data: dadosajax,        error: function(){          $(".error_message").removeClass('hide');        },        success: function(result)        {         console.log(result);         $("#spoiler8").load(" #spoiler8 > *");        }           });}但是您没有插入,因为您没有收到 html 值。我确实console.log (dataajax);返回了这个,但不返回数组:{Id: "11", Notas: "", EstadoFinal: "8"}但是你应该返回这个:{Id: "8", Notas: "", EstadoFinal: "8"} {Id: "9", Notas: "", EstadoFinal: "8"} {Id: "10", Notas: "", EstadoFinal: "8"} {Id: "11", Notas: "", EstadoFinal: "8"}
查看完整描述

3 回答

?
猛跑小猪

TA贡献1858条经验 获得超8个赞

您应该始终首先在页面的开头创建一个数组对象:


var data_array = [];

然后在您的循环中,您可以执行以下操作:


$('table tr').each(function (i, row) {

    // reference all the stuff you need first

    var $row = $(row),

        $teste = $row.find("input[name^='teste']"),

        $notas = $row.find("textarea[name^='Notas']"),

        $estadofinal= $row.find("select[name^='EstadoFinal']");

    var dadosajax = {

      'Id' : $teste.val(),

      'Notas' : $notas.val(),

      'EstadoFinal' : $estadofinal.val()

    };

    data_array.push(dadosajax);

)};

这就是你如何得到这个对象:


[{Id: "8", Notas: "", EstadoFinal: "8"}, {Id: "9", Notas: "", EstadoFinal: "8"}, {Id: "10", Notas: "", EstadoFinal: "8"}, {Id: "11", Notas: "", EstadoFinal: "8"}]



查看完整回答
反对 回复 2021-08-20
  • 3 回答
  • 0 关注
  • 202 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信