如何向 select 表单添加从 PHP 中的 AJAX 请求收到的选项

How to add option to select form as received from AJAX request in PHP

将选项添加到 AJAX

收到的 select 框数据的方法是什么

HTML:

<select id="options"></select>

jQuery:

$.ajax({
  type: "POST",
  url: "ajax/addCustDetail.php",
  data: {customerId},
  cache: false,
  success: function(html)
  {
    $("#options").html(html);
  } 
});

您可以像这样将 children 附加到 select 元素:

首先,给select元素添加一个id:

<select id="myselect"></select>

然后像这样附加 children:

var selectElement = document.getElementById("myselect");
var newOption = document.createElement("option");
newOption.innerHTML = "New option!";
selectElement.appendChild(newOption);

假设您现在收到来自 ajax 请求的数组,您可以创建一个循环并使用上面的代码添加选项。 示例:

for(let i = 0; i < 7; i++) {
   var newOption = document.createElement("option");
   newOption.innerHTML = response[i].name;
   newOption.setAttribute("value", response[i].value);
   selectElement.appendChild(newOption);
}

有两种方法可以做到这一点:

  1. 通过从 addCustDetail.php 返回字符串,例如:

    $response = '<option value="1">One</option><option value="2">Two</option>';
    

并且这个 $response 被返回,在这种情况下,您可以简单地在 jquery 中使用它,例如:

    $("#options").html(html);
  1. 如果您从 addCustDetail.php 返回一个 json 数组,那么您已经在 jquery 中解析它并迭代它并创建选项,然后将它们添加到 select.

PHP 边码:

$cid=$_POST['cid'];
$query="SELECT * from customer_shipping_address WHERE STransNo=$cid";        
$result1 = mysqli_query($con, $query);
while ($row = mysqli_fetch_array($result1, MYSQLI_ASSOC)) {
    echo "<option value=".$row['TransSlNo'].">".$row['ShipName']."</option>" ;   
}