通过javascript/ajax选择菜单

通过javascript/ajax选择菜单,javascript,php,ajax,json,Javascript,Php,Ajax,Json,我正在从另一个php页面的ajax和JSON请求中检索数据。我使用json pasrse获取了两个数组字符串 JAVASCRIPT: if (xmlhttp.readyState==4 && xmlhttp.status==20 { var data = JSON.parse(xmlhttp.responseText); document.getElementById("myDiv").innerHTML=data.subject; document.getElemen

我正在从另一个php页面的ajax和JSON请求中检索数据。我使用json pasrse获取了两个数组字符串

JAVASCRIPT:

if (xmlhttp.readyState==4 && xmlhttp.status==20  
{
 var data = JSON.parse(xmlhttp.responseText);
 document.getElementById("myDiv").innerHTML=data.subject;
 document.getElementById("myDiv").innerHTML=data.scriptID;
}
PHP:

用于($i=0;$i$subject)
));
问题是,我得到了两个带有逗号的独立数组。但是,我想在当前表单中创建select菜单,方法是将$scriptID作为值传递,将$subject作为文本传递


谢谢。

您可以按如下方式修改php:

$json = array();

foreach ($scriptscount as $sc) {
    $json[] = array("script" => $sc['scriptID'], "subject" => $sc['subject']);
}

echo json_encode($json);
for($i=0;$i<$scriptscount;$i++){
   $arr['script'][] = $currentscript[$i]['scriptID'];
   $arr['subject'][] = $currentscript[$i]['subject'];
}
echo json_encode($arr);

for($i=0;$iThanks..javascript代码中将包含哪些内容来检索它?@user2696691迭代数组。每个数组元素都将是一个具有
script
subject
属性的对象。现在,我没有定义。以前,我有,
echo json_encode(数组('script'=>script))
var data=JSON.parse(xmlhttp.responseText);document.getElementById(“myDiv”).innerHTML=data.script;
您可以在浏览器控制台上检查JSON的内容。在生成selectbox的第一行之后使用
console.log(data)
,然后在浏览器控制台中进行检查(可能使用firebug之类的检查器)。
for($i=0;$i<$scriptscount;$i++){
   $arr['script'][] = $currentscript[$i]['scriptID'];
   $arr['subject'][] = $currentscript[$i]['subject'];
}
echo json_encode($arr);
var data = JSON.parse(xmlhttp.responseText);
document.getElementById("mydiv").innerHTML= "<select>";
for(x in data.script)
{
    document.getElementById("mydiv").innerHTML = document.getElementById("mydiv").innerHTML + "<option value="+data.script[x]+">"+data.subject[x]+"</option>";
}
document.getElementById("mydiv").innerHTML = document.getElementById("mydiv").innerHTML + "</select>";