javascript - 如何在列表中显示时更改 JSON 数据的值?

标签 javascript jquery json each key-value

我正在从数据库获取数据作为键值对,并尝试填充 ListView 中的值。在循环时,如果数据 (item.student_class) 的值为 class1,我想将其值更改为“你的下一个类(class)是 2”。当我尝试如下时,它会更改列表中的所有值。

 var buffer="";

 $.each(data, function(index, val){ 

              for(var i=0; i < val.length; i++){ 

              var item = val[i]; 
//If the student's class is class1, change its value as below

   if(item.student_class= 'class1'){var studentclass='Your next class is 2';}

 buffer+='<li id="' + item.student_id+ '" data-student_class="'+studentclass+'"><a href="#"><b>' + item.student_name+'</b><span class="af-badge" style="background-color:#4a4">'+studentclass+'</span><br/>'+item.join_date+'</a></li>'; 
             } 
      $('#student_list').html(buffer); });

有人可以帮助我如何实现它吗?

最佳答案

修复条件以不进行分配。 您正在条件内初始化变量,因此在某些情况下它可能是未定义的。首先将其设置为“”:即

var buffer = "";
$.each(data, function (index, val) {
    for (var i = 0; i < val.length; i++) {
        var studentclass = "";
        var item = val[i];
        //If the student's class is class1, change its value as below
        if (item.student_class == 'class1') {
            studentclass = 'Your next class is 2';
        }
        buffer += '<li id="' + item.student_id + '" data-student_class="' + studentclass + '"><a href="#"><b>' + item.student_name + '</b><span class="af-badge" style="background-color:#4a4">' + studentclass + '</span><br/>' + item.join_date + '</a></li>';
    }
    $('#student_list').html(buffer);
});

关于javascript - 如何在列表中显示时更改 JSON 数据的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32040301/

相关文章:

jQuery 追加和删除

javascript - 这种类型的 webservice 是如何使用 JSON 抛出幻灯片图像的?

Python 使用 content-type=x-www-form-urlencoded 请求 POST json 数据

javascript - 如何串联 ES6 模块?

带有预编译脚本的 Javascript 模板引擎?

javascript - 使用 JQuery 打开关闭菜单

javascript - 使用 javascript append 移动多个 div

javascript - 如何获取 JSON 数组中的 JSON 对象名称

javascript - 使用 join 将 JavaScript 长日期数组转换为逗号分隔的短日期字符串

javascript - 如何将 URL 查询参数获取到对象文字中?