Как получить все значения из таблицы html?
Есть вот такая таблица, с n-ным количеством строк, в каждой строке содержится номер строки, 2 <select> и 2 <input> как с помощью JavaScript можно получить все значения в переменную , чтобы в дальнейшем эти данные вставить в гугл таблицу ?
<table id="table">
<tbody>
<tr>
<th class="col-1">№</th>
<th class="col-2">Вид работы</th>
<th class="col-3">Населенный пункт</th>
<th class="col-4">Кол-во</th>
<th class="col-5">Примечание</th>
</tr>
</tbody>
<tr>
<td>1</td>
<td>
<select>
<option value="0">1</option>
<option value="1">2</option>
<option value="2">3</option>
</select>
</td>
<td>
<select>
<option value="0">1</option>
<option value="1">2</option>
<option value="2">3</option>
</select>
</td>
<td><input></td>
<td><input></td>
</tr>
</table>
Ответы (1 шт):
Автор решения: ksa
→ Ссылка
как с помощью JavaScript можно получить все значения в переменную
Предложу такой вариант... Если нажать на кнопку - можно в консоли посмотреть полученные данные.
document.querySelector('button').addEventListener('click', _ => {
const arr = []
document.querySelectorAll('#data tr').forEach(o => {
const oc = o.querySelectorAll('td')
const obj = {
n: oc[0].textContent,
type: oc[1].querySelector('select').value,
sity: oc[2].querySelector('select').value,
count: oc[3].querySelector('input').value,
text: oc[4].querySelector('input').value
}
arr.push(obj)
})
console.log(arr)
})
<button>Тест</button>
<table id="table">
<tbody>
<tr>
<th class="col-1">№</th>
<th class="col-2">Вид работы</th>
<th class="col-3">Населенный пункт</th>
<th class="col-4">Кол-во</th>
<th class="col-5">Примечание</th>
</tr>
</tbody>
<tbody id='data'>
<tr>
<td>1</td>
<td>
<select>
<option value="0">1</option>
<option value="1">2</option>
<option value="2">3</option>
</select>
</td>
<td>
<select>
<option value="0">1</option>
<option value="1">2</option>
<option value="2">3</option>
</select>
</td>
<td><input></td>
<td><input></td>
</tr>
<tr>
<td>2</td>
<td>
<select>
<option value="0">1</option>
<option value="1">2</option>
<option value="2">3</option>
</select>
</td>
<td>
<select>
<option value="0">1</option>
<option value="1">2</option>
<option value="2">3</option>
</select>
</td>
<td><input></td>
<td><input></td>
</tr>
</tbody>
</table>