我正在从数据库获取数据作为键值对,并尝试填充 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/