Javascript 从PHP代码返回的JSON字符串填充下拉列表
我正在从我的PHP类返回一个JSON数组。部分守则如下:Javascript 从PHP代码返回的JSON字符串填充下拉列表,javascript,php,json,Javascript,Php,Json,我正在从我的PHP类返回一个JSON数组。部分守则如下: ... echo json_encode($users); return json_encode($users); ?> [ { "ID": "1", "firstname": "Jane", "school": "Frohj" }, { "ID": "2", "firstname": "Mathew", "s
...
echo json_encode($users);
return json_encode($users);
?>
[
{
"ID": "1",
"firstname": "Jane",
"school": "Frohj"
},
{
"ID": "2",
"firstname": "Mathew",
"school": "Lebrasky"
},
{
"ID": "3",
"firstname": "BAHUUU",
"school": "uni of kansas"
}
]
上述代码的echo语句如下:
...
echo json_encode($users);
return json_encode($users);
?>
[
{
"ID": "1",
"firstname": "Jane",
"school": "Frohj"
},
{
"ID": "2",
"firstname": "Mathew",
"school": "Lebrasky"
},
{
"ID": "3",
"firstname": "BAHUUU",
"school": "uni of kansas"
}
]
现在,在我的html表单中,我有一个下拉列表
<fieldset>
<legend>Selecting elements</legend>
<p>
<label>Select list</label>
<select id = "myList">
<option value = "1">I WANT TO DISPLAY USER'S NAME HERE</option>
<option value = "2">I WANT TO DISPLAY USER'S NAME HERE</option>
</select>
</p>
</fieldset>
我想在下拉框中将用户名显示为字段。这个的值是从传递的JSON中获得的。现在,我如何检索JSON并用用户的名字填充下拉框。您可以通过JSON\u decode$users解码为JSON结果;此函数用于将json结果转换为数组
借助loop,您可以轻松打印选项。类似以下内容: 带有php扩展的html页面的页眉
<?php include 'pathTo/find.php' ?>
在脚本标记中:
var
i, len,
html = ''
list = <?php echo getUsers(); ?>;
for ( i = 0; len = list.length; i < len ) {
html += '<option value="'+ i +'">'+ list[i].firstname +'</option>';
}
// $( html ).appendTo( $( '#myList' ) ); <-- jQuery method
document.getElementById( 'myList' ).innerHtml = html;
你的身体标签:
<fieldset>
<legend>Selecting elements</legend>
<p>
<label>Select list</label>
<select id = "myList">
</select>
</p>
</fieldset>
认为您的select在开始时应该是空的,那么新选项应该附加javascript
<select id = "myList"></select>
<script type="text/javascript">
var data = SOME_SORTOF_GET_JSON(), // get json from your existing function
select = document.getElementById("myList"),
newOption;
for(var i = 0, item; item = data[i]; ++i) {
newOption = new Option(item.firstname, item.id);
select.add(newOption);
}
</script>
祝你好运。从Ajax调用中获取JSON,然后填充。如果有问题,请尝试发布代码。假设$data是json数组。然后使用foreach循环u将得到解决方案。像$data[i][firstname]那样,我应该在哪里执行此操作?我的主要问题是将结果集引入HTML。我该怎么做?你用什么来得到结果。ajax。?嗯,这就是我的问题。我正在发送JSON字符串,但我不知道如何检索结果。你能在这里帮我吗?所以你需要解析json。比如:success:functionresult{var text=parseJSONresult;}然后使用for循环在jquery文件中创建一个动态选项卡。并将您的选择框附加到该框中。例如:对于$i=0$I借助loop,您可以轻松打印选项。解析JSON:success:functionresult{var text=parseJSONresult;$'mylsit'.empty;forvar i=0;我的PHP脚本的名称是find.PHP。如果是这样,我如何将数据检索到表单中。您的脚本不在页面上?不。我将它放在单独的类中。它的名称是find.PHP.hi@llep,如果我们可以直接查看您的find.PHP live,那就太好了。如果您已将它上载到您的dev服务器,如果您不介意共享,这将对我们非常有帮助。谢谢!@Illep-您的页面是php页面?