Javascript 在循环ajax中使用if语句 也许朋友们认为我不做自己的事,也不想搞研究。但我在这里提出一个问题,因为我确实感到陷入僵局,这就是为什么这个论坛被称为堆栈溢出

Javascript 在循环ajax中使用if语句 也许朋友们认为我不做自己的事,也不想搞研究。但我在这里提出一个问题,因为我确实感到陷入僵局,这就是为什么这个论坛被称为堆栈溢出,javascript,ajax,if-statement,Javascript,Ajax,If Statement,我想使用一个关于在ajax上完成的数据循环的语句,但我有一个问题 错误: 未捕获的SyntaxError:如果 下面的语法是我做的,如果这确实是错误的,请帮助我修复它 $.ajax({ type: 'get', url : '<?php echo base_url() ?>index.php/truk/daftar_jeniskerusakan_ajx', dataType: 'JSON', success:

我想使用一个关于在ajax上完成的数据循环的语句,但我有一个问题

错误:

未捕获的SyntaxError:如果

下面的语法是我做的,如果这确实是错误的,请帮助我修复它

      $.ajax({
        type: 'get',
        url : '<?php echo base_url() ?>index.php/truk/daftar_jeniskerusakan_ajx',
        dataType: 'JSON',
        success:function(data){
          var i = 1;
          var html;
          for (x=0; x<data.length;x++) {
            html += "<tr>"+
                    "<td>"+i+"</td>"+
                    "<td>"+data[x].jenis_kerusakan+"</td>"+
                    if(data[x].status === "1"){
                    "<td>"+"&nbsp;"+"</td>"+
                    }else{                          
                    "<td>"+"<a href='' class='btn btn-xs btn-success'>Approve</a>"+"</td>"+
                    };
                    "</tr>";
                  i++;
          }
          $('#daftar_jenis_kerusakan').append(html);
          $('#daftar_jenis_kerusakan').DataTable({
            "pageLength" : 10,
            "dom" : '<"search"f><"top">rt<"bottom"ip><"clear">'
          });
        }
      });
$.ajax({
键入:“get”,
url:'index.php/truk/daftar_jeniskerusakan_ajx',
数据类型:“JSON”,
成功:功能(数据){
var i=1;
var-html;

对于(x=0;x您的字符串连接语法不正确。您实际上是在告诉javascript将一个
if
语句附加到一个没有意义的字符串,因为if语句应该计算条件(并且不是一种数据类型)。相反,您需要使用if语句附加到
html
的当前值,如下所示:

var i = 1;
var html;
for (x = 0; x < data.length; x++) {
  html += "<tr>" +
    "<td>" + i + "</td>" +
    "<td>" + data[x].jenis_kerusakan + "</td>";

  if (data[x].status === "1") {
    html += "<td>" + "&nbsp;" + "</td>";
  } else {
    html += "<td>" + "<a href='' class='btn btn-xs btn-success'>Approve</a>" + "</td>";
  }

  html += "</tr>";
  i++;
}
var i=1;
var-html;
对于(x=0;x
如果该上下文中不允许使用语句。您可以选择ternerary运算符

"some string"+(data[x].status === "1"?"true case":"false case")+"some more strings"
或者将逻辑外包给返回字符串的函数

var conditionalString = (someVar) => {
    if(someVar === "1"){
        return "<td>"+"&nbsp;"+"</td>"
    }else{
        return "<td>"+"<a href='' class='btn btn-xs btn-success'>Approve</a>"+"</td>"
    }
}

您也可以选择在线定义函数,但我将自行决定语法。

您不能在与“+”链接的字符串(HTML标记)中使用if/else。使用三元条件。如果你不明白,请告诉我做一个回答。我不知道这样的语句是否不能那样做,因为他在javascript范围内,所以我刚刚输入了它,现在我明白了,非常感谢。因为大多数只在响应中执行语句的情况不在数据中的特定行上。我认为像我这样的陈述可以这样做,因为它在javascript的范围内。我现在明白了,谢谢朋友们帮助我,这很好。谢谢你们的帮助,我得到了启示。
"some string"+conditionalString(data[x].status)+"some more strings"