如何将 JSON 对象数据的值填充到选择框中?

How do I populate values of an JSON object data into a selectbox?

when using this code selectbox option value data populate as UNDEFINED..

var obj =  jQuery.parseJSON('['+<?= $customers_json; ?>+']') ;
var myJSON = JSON.stringify(obj);
for (var i = 0; i < myJSON.length; i++)
{
html_code += '<option value="'+myJSON[id].toString()+'">'+myJSON.toString()+'</option>';
}
$sql2 = "SELECT id,name FROM customers";
    $customerResult = $conn->query($sql2);
    //$customers123 = $customerResult->fetch_assoc();
     while($r = mysqli_fetch_assoc($customerResult)) {
      $rows[] = $r;
  }

 $customers123=json_encode($rows);
 $customers_json =  $customers123;

你的解决方案是使用for和in。这是一种遍历对象的好方法:

var obj =  jQuery.parseJSON('['+<?= $customers_json; ?>+']');

obj = obj[0][0]; // to account for position within object

for (key in obj)
{
html_code += '<option value="'+key+'">'+obj[key]+'</option>';
}

请记住,您可能需要在添加更多选项之前删除之前的所有选项:o)

var myJSON = jQuery.parseJSON('['+"[{\"id\":\"2\",\"name\":\"sooraj\"},{\"id\":\"4\",\"name\":\"ravi pillai\"},{\"id\":\"5\",\"name\":\"jasil\"},{\"id\":\"6\",\"name\":\"athul\"},{\"id\":\"7\",\"name\":\"dheeraj123\"}]"+']') ; 
myJSON =myJSON[0];

let html_code ='';

for (var i = 0; i < myJSON.length; i++)
{
   html_code += '<option value="'+myJSON[i]['id']+'">'+myJSON[i]['name']+'</option>';
}

console.log(html_code);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

For 循环将是

for (var i = 0; i < myJSON.length; i++)
{
   html_code += '<option value="'+myJSON[i]['id'].toString()+'">'+myJSON[i]['name'].toString()+'</option>';
}