Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Получение значений всех элементов (https://javascript.ru/forum/dom-window/74340-poluchenie-znachenijj-vsekh-ehlementov.html)

Янковиц 03.07.2018 11:07

Получение значений всех элементов
 
Входные данные. Блок элементов:
<input type="checkbox" class="data" name="name1" value="1">
<input type="checkbox" class="data" name="name2" value="1">
<input type="checkbox" class="data" name="name3" value="1">
<select id="select" class="data" name="select">
    <option value="hello">Hello</option>
    <option value="good">Good</option>
</select>

Как скопом собрать данные всех элементов, чтобы на выходе получились те же самые данные, что и при serialize формы.
Спасибо. Нужно на jQuery

j0hnik 03.07.2018 11:18

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
</head>
<body>
	<input type="checkbox" class="data" name="name1" value="1">
	<input type="checkbox" class="data" name="name2" value="1">
	<input type="checkbox" class="data" name="name3" value="1">
	<select id="select" class="data" name="select">
		<option value="hello">Hello</option>
		<option value="good">Good</option>
	</select>
	<script>

		var arr = $('input, select').map(function(){
			return this.value;
		});
		console.log(arr);

	</script>
</body>
</html>

Dilettante_Pro 03.07.2018 11:19

Янковиц,
https://ruseller.com/jquery?id=8

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
</head>
<body>
	<input type="checkbox" class="data" name="name1" value="1">
	<input type="checkbox" class="data" name="name2" value="1" checked>
	<input type="checkbox" class="data" name="name3" value="1">
	<select id="select" class="data" name="select">
		<option value="hello">Hello</option>
		<option value="good">Good</option>
	</select>
	<script>

		var arr = $('.data').serialize()
		console.log(arr);

	</script>
</body>
</html>

Янковиц 03.07.2018 15:25

Спасибо


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