javascript - 在 PHP 中从 JSON 填充选择列表

标签 javascript php jquery arrays json

我有一个数组

{
    "status": "OK",
    "message": "Data Show Successful",

"allknife": [
        {
            "name": "Folder",
            "notes": ""
        },
        {
            "name": "Folder2",
            "notes": ""
        }
        }
    ]
}

我当前的代码运行正确

我当前的代码

<script>
$(document).ready(function() {

    $("#person").change(function () {
       var val = $(this).val()
        if(val == "") return
       $.getJSON("http://some.com/Knife/api/l.php?&returnformat=json", {"state":val}, function(res,code) {





          $("#name").val(res.message)
            $("#age").val(res.status)
       })
   })

})
</script>

现在我想从 allknife 数组的每个数组名称中填充我的选择框值。

喜欢

<option value="folder">0</option>
<option value="folder2">1</option>

这里的值 0 和 1 表示文件夹是第一个数组 o allknife

当用户选择 #person 选择框时,表单的其他字段将填充我当前的代码,然后当用户选择第二个选择框 0 时,则填充其他字段。

如果他们选择文件夹,则其他归档从 allknife 填充或无阵列。 如果folder2则其他字段从allknife数组2填充

我的表单看起来像

<form>
<select name="person" id="person">

<input type="text" name="name" id="name"><br/>
<input type="text" name="age" id="age"><br/>


<select id="allknife"></select>


<input type="text" name="name" id="name"><br/>
<input type="text" name="note" id="note"><br/>
<input type="text" name="codskill" id="codskill"><br/>
</form>

最佳答案

您需要循环返回的数组。像这样的事情:

$.getJSON("http://some.com/Knife/api/l.php?&returnformat=json", { "state": val }, function(res, code) {
    $("#name").val(res.message);
    $("#age").val(res.status);
    $("#codskill").val(res.allknife[0]['name']);

    $.each(res.allknife, function(i, item) {
        $('<option />', { text: i, value: item.name }).appendTo('#allknife');
    });
})

Example fiddle

还有,你的<select name="person" id="person">缺少结束标记。

关于javascript - 在 PHP 中从 JSON 填充选择列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24053497/

相关文章:

javascript - 如果再次单击同一按钮或单击其他按钮,如何隐藏 Iframe?

javascript - 同步 2 个 facebook api 调用的结果

php - 如何获取字符串中小数点前后的值

php - str_replace : Match whole word only

jquery - Owl Carousel 试图删除导航周围的灰色边框

javascript - 我的数组中的值不会在 DOM 中呈现

javascript - 通过removeEventListener删除后音频事件仍然触发事件

PHP windows创建隐藏文件

jquery - 如何通过标题中的多种方式对一列进行排序?

jQuery CSS 类作为 LESS mixins