Javascript 基于变量改变img src';循环中的s值

Javascript 基于变量改变img src';循环中的s值,javascript,jquery,arrays,for-loop,Javascript,Jquery,Arrays,For Loop,我使用jquery getJSON函数从JSON文件调用内容,它返回一个名为items的集合,有两个值: 介于1和10之间的整数值 一些文本 然后,在jquery中,我运行每个循环,遍历数组项,并基于整数值,试图以图像标记为目标来更改其源,但它不起作用 此外,我在页面上使用引导来显示旋转木马中的文本内容,这很好。把下面的代码加起来。根据我的测试,似乎每次检查都放在jquery中时,系统都会一次性运行整个循环,最后的迭代条件会应用到div 有人能帮我阻止这种事情发生吗 $.getJSON("/sa

我使用jquery getJSON函数从JSON文件调用内容,它返回一个名为items的集合,有两个值:

  • 介于1和10之间的整数值
  • 一些文本
  • 然后,在jquery中,我运行每个循环,遍历数组项,并基于整数值,试图以图像标记为目标来更改其源,但它不起作用

    此外,我在页面上使用引导来显示旋转木马中的文本内容,这很好。把下面的代码加起来。根据我的测试,似乎每次检查都放在jquery中时,系统都会一次性运行整个循环,最后的迭代条件会应用到div

    有人能帮我阻止这种事情发生吗

    $.getJSON("/samplecsat.json", function(result) {
      myarr = result.items;
      console.log("result is: " + JSON.stringify(result.items));
      console.log("total count is: " + result.items.length);
      total = result.items.length;
      $.each(myarr, function(i, field) {
        x = field["Survey Rating"];
        if (i == 0) {
          console.log("YAY its the first iteration" + i);
          if (x < 8) {
            dsat = dsat + 1;
            $('<div class="item active" style="color:red"><em>' + field["Customer Verbatim"] + '</em></div>').appendTo('.carousel-inner');
            $("#myCarousel").on('slide.bs.carousel', function() {
              $("#customersentiment").attr("src", "/csp/angry.gif");
            });
          } else {
            sat = sat + 1;
            $('<div class="item active" style="color:green">' + field["Customer Verbatim"] + '   </div>').appendTo('.carousel-inner');
            console.log("it is a csat with rating:" + " " + field["Survey Rating"])
            $("#myCarousel").on('slide.bs.carousel', function() {
              $("#customersentiment").attr("src", "/csp/happy.gif");
            });
    
          }
        } else {
          if (x < 8) {
            dsat = dsat + 1;
            $("#customersentiment").attr("src", "/csp/angry.gif");
            $('<div class="item" style="color:red"><em>' + field["Customer Verbatim"] + '</em></div>').appendTo('.carousel-inner');
            console.log(" its a dsat with rating:" + " " + field["Survey Rating"]);
            $("#myCarousel").on('slide.bs.carousel', function() {
              $("#customersentiment").attr("src", "/csp/angry.gif");
            });
          } else {
            sat = sat + 1;
            $("#customersentiment").attr("src", "");
            $('<div class="item" style="color:green"><em>' + field["Customer Verbatim"] + '</em></div>').appendTo('.carousel-inner');
            console.log("it is a csat with rating:" + " " + field["Survey Rating"])
            $("#myCarousel").on('slide.bs.carousel', function() {
              $("#customersentiment").attr("src", "/csp/happy.gif");
            });
          }
        }
      })
      console.log("Total DSATs by Js: " + dsat);
      console.log("Total CSATs by Js: " + sat);
      console.log("Total item count is: " + total);
      satpercentage = (sat * total / 100) * 100 + "%";
      console.log("percentage is: " + sat * total / 100);
      console.log("total is second one:" + total);
    });
    
    $.getJSON(“/samplecsat.json”),函数(结果){
    myarr=结果项;
    log(“结果是:+JSON.stringify(result.items));
    log(“总计数为:“+result.items.length”);
    总计=结果.items.length;
    $.each(myarr,函数(i,字段){
    x=字段[“调查评级”];
    如果(i==0){
    log(“是的,它是第一次迭代”+i);
    if(x<8){
    dsat=dsat+1;
    $(''+字段[“客户逐字记录”]+'')。附加到('.carousel-inner');
    $(“#myCarousel”).on('slide.bs.carousel',function(){
    $(“#customersentiment”).attr(“src”,“csp/angry.gif”);
    });
    }否则{
    sat=sat+1;
    $(''+字段[“客户逐字记录”]+'')。附加到('.carousel-inner');
    log(“这是一个评级为“+”+字段[“调查评级”]”的csat)
    $(“#myCarousel”).on('slide.bs.carousel',function(){
    $(“#customersentiment”).attr(“src”,“csp/happy.gif”);
    });
    }
    }否则{
    if(x<8){
    dsat=dsat+1;
    $(“#customersentiment”).attr(“src”,“csp/angry.gif”);
    $(''+字段[“客户逐字记录”]+'')。附加到('.carousel-inner');
    log(“这是一个评级为“+”+字段[“调查评级”])的dsat;
    $(“#myCarousel”).on('slide.bs.carousel',function(){
    $(“#customersentiment”).attr(“src”,“csp/angry.gif”);
    });
    }否则{
    sat=sat+1;
    $(“#customersentiment”).attr(“src”,“src”);
    $(''+字段[“客户逐字记录”]+'')。附加到('.carousel-inner');
    log(“这是一个评级为“+”+字段[“调查评级”]”的csat)
    $(“#myCarousel”).on('slide.bs.carousel',function(){
    $(“#customersentiment”).attr(“src”,“csp/happy.gif”);
    });
    }
    }
    })
    log(“按Js计算的总dsat:+dsat”);
    console.log(“总CSAT,按Js:+sat计算”);
    console.log(“项目总数为:“+Total”);
    sat百分比=(sat*总计/100)*100+“%”;
    控制台日志(“百分比为:”+sat*总计/100);
    console.log(“总计是第二个:“+total”);
    });
    
    尝试通过缩进结构阅读代码太难了。我可以更改代码以显示每个条件的作用,并可以确定哪个条件不起作用,如果有帮助的话。感谢devlin花时间为他清理。您的问题是为什么
    $(“#CustomerEntity”).attr(“src”,…)
    是否总是被上一次迭代覆盖?@BShaps是的,似乎循环正在完成,$(“#CustomerEntity”).attr(“src”,…)受到上一次迭代的影响。