Использование оператора if в цикле ajax - PullRequest
0 голосов
/ 01 декабря 2018

Может быть, друзья здесь считают, что я не занимаюсь своими собственными делами или не занимаюсь поиском в Google.Но я задаю вопрос здесь, потому что действительно чувствую себя заблокированным, именно поэтому этот форум называется переполнением стека.

Я хочу использовать оператор для зацикливания данных, сделанный на ajax, но у меня есть проблема.

Ошибка:

Uncaught 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">'
          });
        }
      });

Ответы [ 2 ]

0 голосов
/ 01 декабря 2018

Если утверждения не разрешены в этом контексте.Вы можете выбрать территориальный оператор

"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>"
    }
}

, а затем

"some string"+conditionalString(data[x].status)+"some more strings"

. Вы можететакже решите определить функцию в строке, но я оставлю выяснение этого синтаксиса для себя.

0 голосов
/ 01 декабря 2018

Ваш синтаксис неверен с вашей строкой конкатенация .По сути, вы говорите 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++;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...