【问题标题】:Populate dropdown using json使用 json 填充下拉列表
【发布时间】:2012-02-13 17:50:35
【问题描述】:

我需要知道如何使用 JSON 对象填充下拉列表。 我使用 php 将 json 发送到客户端。客户端使用 ajax 捕获 json 数据。 我使用下面的代码来检查我从服务器收到的确切信息。

  var test = xmlhttp.responseText;
  alert(test);

结果显示给我......如下......

   {"2":"pricelist.xml","3":"camera.xml", "4":"cd.xml","5":"data.xml"}

我所做的是..我在服务器上有一组 xml 文件,我使用 php 读取这些文件名,然后我使用 json_encode 将其转换为 json 对象,然后我将其发送给客户端以使用 json 数据填充下拉列表我从服务器发送的。正如我上面测试的那样,我在客户端接收 json 数据没有问题。我需要知道如何使用上面的 json 数据填充数据

【问题讨论】:

标签: php javascript ajax json


【解决方案1】:

你的 HTML

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

javascript(使用jQuery)

var json={} // Populate this json object
$.each(json, function(key, value){
    $('#myselect').append("<option value='"+key+"'>"+value+"</option>");
});

【讨论】:

  • 我试过上面的代码。它似乎不起作用..这是我的代码,我在其中捕获来自服务器的 json obj。 xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 &amp;&amp; xmlhttp.status==200) { var test = xmlhttp.responseText; AddFiles(test);   } } 我已将您的代码放在 AddFiles 函数中。
  • 您是否在页面中包含了 jQuery。将此标签放在您的头部部分,为了安全起见,将此标签放在第一个标签中。 &lt;script type='text/javascript' src= 'https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js'&gt;&lt;/script&gt;
  • 抱歉多次编辑,我想这次我做对了:P。还有一点需要注意的是,在第 3 行中,请确保通过 id 引用您的选择。我已经据此更新了上面的答案。
  • src= 'https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js' 之前缺少此行。现在我也添加了那个。但它不起作用.. :( 对我来说似乎运气不好 :( 我是否犯了其他错误?
  • 您从服务器获得的响应是​​ JSON 文本而不是对象。您需要将文本解析为 JSON 对象。你有没有解析过这样的文字var test = JSON.parse(xmlhttp.responseText);
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-08-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-16
  • 2021-04-04
相关资源
最近更新 更多