Перебирая столбец таблицы данных для построения строки - PullRequest
1 голос
/ 06 марта 2020

Я пытаюсь провести l oop через столбец таблицы и создать строку.

Это то, что у меня есть:

$(".ConvertSQL").click(function () {

        var values

        $(".TableQuery tr").each(function () {

            $('td', this).each(function () {
                values = value + ',' + value;

                alert(values)
            })

        })

    });

Получена ошибка :

В моем предупреждении отображается сообщение 'undefined' и повторяется это число раз, когда в ячейках есть данные

Я все еще новичок к этому, так что не до конца понимаю, что происходит.

Настройка в данный момент не будет проходить через столбец oop, я думаю, что она проходит через каждую ячейку в таблице, так что мне нужно изменить это тоже

1 Ответ

1 голос
/ 06 марта 2020

Проблема в вашей логике c заключается в том, что, хотя вы определяете value, вы фактически никогда не устанавливаете его для хранения значения чего-либо, следовательно, оно остается undefined.

В контексте вашего кода похоже, что вы пытаетесь получить текстовое содержимое из элементов td, поэтому вы можете использовать метод text() вместе с :nth-child(), чтобы получить td необходимого столбца.

Также обратите внимание, что для того, чтобы сделать это еще проще, вы можете использовать map() для построения массива значений, которые вы затем join() сформируете в одну строку. Попробуйте это:

$(".ConvertSQL").click(function() {
  var str = $(".TableQuery td:nth-child(1)").map((i, e) => $(e).text()).get().join(' ');
  console.log(str);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table class="TableQuery">
  <tbody>
    <tr>
      <td>Foo</td>
      <td>Bar</td>
    </tr>
    <tr>
      <td>Fizz</td>
      <td>Buzz</td>
    </tr>
  </tbody>
</table>

<button class="ConvertSQL">Click me</button>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...