php - JSON 下拉列表未正确填充

标签 php javascript json drop-down-menu

我很难使用 JSON 填充下拉列表 这是脚本

function ajax_get_json(){
    var results = document.getElementById("results");
    var hr = new XMLHttpRequest();
    hr.open("GET", "json.php", true);
    hr.setRequestHeader("Content-type", "application/json");
    hr.onreadystatechange = function() {
        if(hr.readyState == 4 && hr.status == 200) {
            var data = JSON.parse(hr.responseText);
            results.innerHTML = "";     
        for (var obj in data) {
           if (data.hasOwnProperty(obj)) {
                    results.innerHTML +="<option>"+ data.l_name +"</option>";
                }
            }
        }
    }
    hr.send(null);
    results.innerHTML = "requesting...";
}

PHP 生成有效的 JSON:

{
    "l_id": [
        "24231",
        "24309",
        "24310",
        "24232"
    ],
    "l_group_id": [
        "001",
        "002",
        "003",
        "999"
    ],
    "l_name": [
        "001 - All Students",
        "002 - All Staff",
        "003 - All Residents",
        "999 - Test List"
    ]
}

我只想将 l_name 显示为一个选项。

这里的问题是所有值都插入到同一个选项中。 我知道循环是错误的,但我无法让另一个循环工作。 主要目标是写:

<option value="l_id"> l_name</option>

我希望你们中的一位能给我指出正确的方向。

最佳答案

如果这是你想要的

<option value="24231">001 - All Students</option>
<option value="24309">002 - All Staff</option>
<option value="24310">003 - All Residents</option>
<option value="24232">999 - Test List</option>

你可能想这样做

var html='';
for (var i in data.l_id) {
    html +="<option value='" + data.l_id[i] + "'>"+ data.l_name[i] +"</option>";
}
results.innerHTML=html; // faster to re-write html once than per iteration

关于php - JSON 下拉列表未正确填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14656924/

相关文章:

php - pcntl_fork() 导致父进程失效

javascript - Jquery 未捕获类型错误 : Object #<Object> has no method 'split'

javascript - 移动 webkit CSS 与 JavaScript 性能

java - 将字段映射为键值对

javascript - 单击某个项目后加载帖子详细信息页面

php - Strtotime 没有按预期工作

php - PHP 中是否有一个关键字引用祖父类的成员?

php - Chrome - 在网站中使用保存为 PDF 功能

java - 与 map 比较时获取重复值

java - 想要将 json 对象映射为 java 对象