簡體   English   中英

如何將 JSON 對象數據的值填充到選擇框中?

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

當使用此代碼選擇框選項值數據填充為 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;

 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>';
}

您的解決方案是使用 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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM