Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Таблица циклом (https://javascript.ru/forum/misc/72136-tablica-ciklom.html)

рони 11.01.2018 22:36

SpaceAlarm,
запомнить и не добавлять больше, если ничего больше не изменяется, если будет изменение нужно знать что вы хотите изменить

SpaceAlarm 11.01.2018 22:42

Цитата:

Сообщение от рони (Сообщение 474897)
SpaceAlarm,
запомнить и не добавлять больше, если ничего больше не изменяется, если будет изменение нужно знать что вы хотите изменить

Так а как это в коде то организовать?

рони 11.01.2018 22:44

SpaceAlarm,
var out = {};
socket.on("test", function(data) {
  console.log(data.text.length);
  var num = data.text.length;
  for (var i = 0; i < num; i++) {
    var id = data.text[i].client_ids;
    if (!out[id]) {
      var tr = $("<tr><td>ID:</td><td>" + id + "</td></tr>").appendTo("#num");
      out[id] = tr;
    }
  }
});

SpaceAlarm 11.01.2018 23:00

Цитата:

Сообщение от рони (Сообщение 474899)
SpaceAlarm,
var out = {};
socket.on("test", function(data) {
  console.log(data.text.length);
  var num = data.text.length;
  for (var i = 0; i < num; i++) {
    var id = data.text[i].client_ids;
    if (!out[id]) {
      var tr = $("<tr><td>ID:</td><td>" + id + "</td></tr>").appendTo("#num");
      out[id] = tr;
    }
  }
});

Объясните пожалуйста ход схемы, что бы я понял, суть фикса

рони 11.01.2018 23:13

SpaceAlarm,
if (!out[id]) если нет в обьекте такого свойства, создаём строку

SpaceAlarm 11.01.2018 23:20

Цитата:

Сообщение от рони (Сообщение 474901)
SpaceAlarm,
if (!out[id]) если нет в обьекте такого свойства, создаём строку

А как заменить Чисто на js без использования jquery
var tr = $("<tr><td>ID:</td><td>" + id + "</td></tr>").appendTo("#num");

рони 11.01.2018 23:27

SpaceAlarm,
var tr = document.querySelector("#num tbody").insertAdjacentHTML("beforeEnd", "<tr><td>ID:</td><td>" + id + "</td></tr>");

SpaceAlarm 11.01.2018 23:35

Цитата:

Сообщение от рони (Сообщение 474903)
SpaceAlarm,
var tr = document.querySelector("#num tbody").insertAdjacentHTML("beforeEnd", "<tr><td>ID:</td><td>" + id + "</td></tr>");

https://jsfiddle.net/gbLvgyng/4/ что то не срабатывает

рони 11.01.2018 23:46

SpaceAlarm,
важны детали, телепаты но пасаран
<table>
  <tbody id="num">
      <tr id="channel_list" class="danger"></tr>
 </tbody>
</table>
<script>
   var id = 2;
   var tbody = document.querySelector("#num");
   tbody.insertAdjacentHTML("beforeEnd", "<tr><td>ID:</td><td>" + id + "</td></tr>");

</script>

SpaceAlarm 12.01.2018 01:36

Спасибо


Часовой пояс GMT +3, время: 17:23.