首页 > 解决方案 > 在 foreache 中使用 js 填充选择

问题描述

IM 试图用我从 ajax 收到的一些数据填充一个选择字段,但另一个选择 select_dropdow ,不填充,我不知道如何修复它,有人可以帮助我吗?

我对 ajax 工作有一些帮助,但现在我没有,所以我有点迷路了,我已经尝试使用 js 中的一些代码来实现它,但是在 select_dropdow 选择中没有任何反应,我想用来自数据的数据填充该选择我的 sql,如图所示。

索引.php

<select id="txt_maq" name="txt_maq">
      <option value="">Selecione</option>
      <option value="E02">E02</option>
      <option value="E03">E03</option>
      <option value="E04">E04</option>
      <option value="E05">E05</option>
      <option value="E06">E06</option>
      <option value="E07">E07</option>
      <option value="E08">E08</option>
      <option value="E04/E07">E04/E07</option>
      <option value="E04/E08">E04/E08</option>
      <option value="E03/E04">E03/E04</option>
      <option value="E03/E07">E03/E07</option>
      <option value="E04/E07/E08">E04/E07/E08</option>
      <option value="E03/E07/E08">E03/E07/E08</option>
      <option value="E07/E08">E07/E08</option>
      <option value="E09">E09</option>
    </select>

    <select id="select_dropdow" name="select_dropdow">
        <option value="">Selecione</option>
    </select>

    <script>

      let txt_maq =$("#txt_maq");
      let select_dropdow =$("#select_dropdow");
        console.log(txt_maq);
        console.log(select_dropdow);
      txt_maq.on("change", function() {

        //faz a consulta no banco com ajax em um
        $.ajax({
        url: "test.php?maq="+txt_maq.val(),
        context: document.body
        }).done(function(response) {
        
        console.log(response);
        
        let resposta = JSON.parse(response);
        
         resposta.forEach(function(valor, chave) {
          
          
          option = new Option(chave, valor);
          select_dropdow.options[select_dropdow.options.length] = option;
          
        })
        });
        
      });

    </script>

测试.php

<?php
print_r($_GET);

include ("databaseconfig.php"); 

$maquina = $_GET["maq"];
$tpe_te = "";

if ($maquina == "E09"){
    $type_te= "ET";
} else {
    $type_te= "EP";
}

  //$tpe_te = $_GET["maq"] === "E09" ? "ET" : "EP";
  
  $consulta = "SELECT Cat_Material FROM cat_mat where TE = '" . $type_te . "' "; //código SQL
                            
  $pesquisa = mysqli_query($ligacao,$consulta);

  $resultado = [];

  while ($listar = mysqli_fetch_array($pesquisa)){

    $resultado [$listar['Cat_Material']] = $listar['Cat_Material'];
                             
  }
  
  echo json_encode($resultado);
  
?>

这是我在第一次选择中选择第一个数据时的数据

标签: javascriptphphtmlajax

解决方案


推荐阅读