jquery - 如何获取 JSON 列表中第 n 个项目的值(使用 JQuery)?

标签 jquery json forms

如何检索 JSON 文件中的第 n 个值(也许它也是子值)?

例如,我有一组采用 JSON 格式的类(class)和相关事件,我用它来填充几个选择列表,例如:

// extract from courselist.php
[{
    "optionValue": "Getting Research into Practice",
    "events": [
        {"date": "29 October"}
    ] 
},
{
    "optionValue": "Human Resources for Managers",
    "events": [
        {"date": "September 1"},
        {"date": "November 2"}
    ]
}]

我这样做是为了从该 JSON 创建表单:

$(function(){
$("select#coursetype").change(function(){
    $.getJSON("courselist.php",{id: $(this).val(), ajax: 'true'}, function(data){
        var options = ''; //item in select list
        options += '<option value=""></option>';
        for (var i = 0; i < data.length; i++) {
            options += '<option value="' + [i] + '">' + data[i].optionValue + '</option>';  
            $("#courselist").html(options);
            $('#courselist option:first').attr('selected', 'selected');
        };
    })
})  
});

..输出 HTML 代码如下:

<select id="coursetype" name="coursetype">
    <option value="0">Getting Research into Practice</option>
    <option value="1">Human Resources for Managers</option>
</select>

假设,用户选择“经理人力资源”(值=“1”),并 $_POST 表单,我以后如何从 POST 值中检索该类(class)名称及其事件信息?

最佳答案

只要您仍然有可用的 JSON 对象,您就可以 feed the posted value back作为索引:

var courseName = data[postValue].optionValue;
var courseEvents = data[postValue].events;
for(theDate in courseEvents){
    // do something with the date
}

关于jquery - 如何获取 JSON 列表中第 n 个项目的值(使用 JQuery)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3331866/

相关文章:

javascript - 选择不同的字段元素时如何重置选择选项下拉列表?

json - 如何发布嵌套数据和图像列表

jquery - 鼠标移动时弹出部分 View ,鼠标移开时隐藏

javascript - `-ms-touch-action` 样式不应用 $.css()

javascript - 如何在 Javascript 中提取不完整 JSON 数组中对象的值?

javascript - 数据输入后自动刷新 Javascript 表单刷新

php - 表单未向查询字符串发送任何数据

javascript - jQuery val() 在输入字段中输入正确的数字,但标签仍然不显示任何值

android - Jplayer 播放列表将无法在 Android 或 iOS 中运行

javascript - 基于外部数据的 D3 map 中的颜色区域