javascript - jQuery/JavaScript 循环遍历 json 数据结果

标签 javascript jquery json

我有一个表单,用户可以在其中从多选选择框 (A) 中选择一个项目。如果该项目未列出,用户可以从另一个输入文本框 (B) 添加它。在 (B) 中输入的值将执行 ajax 调用,将项目保存到数据库中。保存项目后,将创建一个 json 对象,然后需要用更新后的列表填充 (A)。我将所有这些都与选项一起使用。我现在需要包括保存过程是通过还是失败。如果过程通过,那么我需要包括选项,但如果失败,我只需要失败状态。这是我想出的:

{
    "process": [{
        "status":"pass" ,
        "message":"The Contributors list has been refreshed to contain the entry you just saved." }
    ],
    "newoptions": [
        {"optionValue":"Item 1" , "optionDisplay":"Item 1"},
        {"optionValue":"Item 2" , "optionDisplay":"Item 2" },
        {"optionValue":"Item 3" , "optionDisplay":"Item 3" }
    ]    
}

这就是我在 .ajax 例程中使用的内容:

success: function(j){
    if (j.process.status == 'pass'){
        var options = '';
        for (var i = 0; i < j.newoptions.length; i++) 
            {
                options += '<option value="' + j.newoptions[i].optionValue + '">' + j.newoptions[i].optionDisplay + '</option>';
            }
        $('#misc_userID').val('');  // reset value back to null 
        $("#misc_userID").effect("transfer", { to: $("#group_misc_available") }, 500);  //visual showing item added to select
        $('#group_misc_available').html(options);
    }
    else if (j.status == 'fail'){
        alert(j.process.message);   
    }
}

我没有收到错误,但它也没有处理 j.process.status,所以选择列表 (A) 没有被刷新。

最佳答案

您有进程数组,因此需要使用index访问它

if (j.process.status == 'pass'){

会是

if (j.process[0].status == 'pass'){

关于javascript - jQuery/JavaScript 循环遍历 json 数据结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12730694/

相关文章:

javascript - 超链接不会使用 jQuery 重定向用户

ios - 在 Swift 5 中更改 Lottie AnimationView 大小

javascript - Vue computed 运行不正常,一直是false

javascript - angularjs 指令检查是否最小。复选框列表中的一项被选中

javascript - 创建与 php 数组具有相同结构的 javascript 数组

javascript - Vanilla Javascript - 将类添加到元素 1 并在单击元素 1 时从元素 2 中删除类

arrays - 使用带有内联输出的 jq 1.3 计算 JSON 数组的分组成员

javascript - HighCharts - 尝试创建一个 'thin' 圆环图

javascript - jQuery:在加载 html 页面时同步更新进度条?

javascript - 如何确保 2 个 <video> 完全同时播放(没有滞后)?