mrusklon
@mrusklon
Не получается? Яростно гугли!

Как сформировать строку с проверкой из таблицы?

https://jsfiddle.net/KLON/rztsnhwL/14/

есть такая таблица , там много строк , я привел только 2 для примера , мне надо как то сформировать строку из value которые в ячейках вот такого вида:
('12', 'США', '2019','путешествие','какой то текст','12'), ('12', 'Бали', '2018','путешествие','какой то текст2','8')  ... остальные строки

и если в последней ячейке нет нечего , там где сейчас 12 и 8 , то вся строка таблицы tr в строку кода не добавляется
  • Вопрос задан
  • 94 просмотра
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
const data = $('table tr')
  .get()
  .map(tr => $('input', tr).get().map(n => $(n).val()))
  .filter(row => row[row.length - 1])
  .map(row => `(${row.map(n => `'${n}'`).join(', ')})`);
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Kozack
@Kozack Куратор тега JavaScript
Thinking about a11y
Два цикла: 1. обходит все строки, 2 — собирает значения со всех инпутов в строке. Если в последнем есть значение — сформировать строку. Примерно так

const result = []
$('#form1').find('tr').each((i, tr) => {
  const row = []
  const inputs = $(tr).find('input').each((i, input) => {
    row.push(input.value)
  })
  result.push(`(${row.join(',')})`)
})

return result.join(',')
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы