Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.12.2015, 10:58
Аспирант
Отправить личное сообщение для optsar Посмотреть профиль Найти все сообщения от optsar
 
Регистрация: 02.11.2015
Сообщений: 30

Как собрать все данные из таблицы, и отправить массив на сервер
Подскажите как собрать данные из таблицы, и отправить на сервер ассоциативный массив, вот есть такая таблица


<table >				  
													
	<tr>
		<td>0</td>
		<td>Тип 0</td>
		<td>Значение 0</td>
	</tr>

							
	<tr>
		<td>1</td>
		<td>Тип 1</td>
		<td>Значение 1</td>
	</tr>
						
													
</table>


а вот такой массив нужно получить на сервере
array[
	array[0][0 => Тип 0, 1 => Значение 0]
	array[1][0 => Тип 1, 1 => Значение 1]
]
Ответить с цитированием
  #2 (permalink)  
Старый 09.12.2015, 11:29
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,144

optsar,
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>

<body>
<table >

	<tr>
		<td>0</td>
		<td>Тип 0</td>
		<td>Значение 0</td>
	</tr>


	<tr>
		<td>1</td>
		<td>Тип 1</td>
		<td>Значение 1</td>
	</tr>


</table>
<script>
var arr = [].map.call( document.querySelectorAll('tr'), function(tr) {
       return {0 : tr.cells[1].innerHTML, 1 :tr.cells[2].innerHTML}
//return [tr.cells[1].innerHTML, tr.cells[2].innerHTML]    
});
alert(JSON.stringify(arr))

</script>
</body>

</html>

Последний раз редактировалось рони, 09.12.2015 в 14:01.
Ответить с цитированием
  #3 (permalink)  
Старый 09.12.2015, 18:53
Аспирант
Отправить личное сообщение для optsar Посмотреть профиль Найти все сообщения от optsar
 
Регистрация: 02.11.2015
Сообщений: 30

Рони спасибо большое!

Можете еще подсказать, сейчас получается что ключ у массива начинается с 0, не зависимо от того какое значение стоит в
<td>1</td>
, вот как тут сделать, что бы ключ брался из
<td>1</td>



и еще, не обязательно конечно, но все же для общего понимания хотел бы знать, как мне например поменять tr.cells[1] например на data('key') ?

<tr>
        <td data-n="" contenteditable>1</td>
        <td data-key="" contenteditable>Тип 1</td>
        <td data-val="" contenteditable>Значение 1</td>
    </tr>
Ответить с цитированием
  #4 (permalink)  
Старый 09.12.2015, 19:20
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,144

Сообщение от optsar
Можете еще подсказать, сейчас получается что ключ у массива начинается с 0, не зависимо от того какое значение стоит в <td>1</td>, вот как тут сделать, что бы ключ брался из <td>1</td>
не осилил куда вы этот ключ собрались вставлять
из примера разве не видно как взять это значение
tr.cells[0].innerHTML


Сообщение от optsar
data('key')
tr.cells[0].dataset.n
- остальное сами
https://learn.javascript.ru/attribut...трибуты
Ответить с цитированием
  #5 (permalink)  
Старый 09.12.2015, 19:22
Аспирант
Отправить личное сообщение для optsar Посмотреть профиль Найти все сообщения от optsar
 
Регистрация: 02.11.2015
Сообщений: 30

Сообщение от рони Посмотреть сообщение
не осилил куда вы этот ключ собрались вставлять
из примера разве не видно как взять это значение
tr.cells[0].innerHTML




tr.cells[0].dataset.n
- остальное сами
https://learn.javascript.ru/attribut...трибуты

Я пробовал так
arr = [tr.cells[0].innerHTML]
но так не работает.
Ответить с цитированием
  #6 (permalink)  
Старый 09.12.2015, 19:33
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,144

optsar,

пример того что хотите получить и из чего.
только без =>
Ответить с цитированием
  #7 (permalink)  
Старый 09.12.2015, 19:40
Аспирант
Отправить личное сообщение для optsar Посмотреть профиль Найти все сообщения от optsar
 
Регистрация: 02.11.2015
Сообщений: 30

[3] => Array
(
[0] => Тип насоса
[1] => Циркуляционный
)

[6] => Array
(
[0] => Вид насоса
[1] => Поверхностный
)

Я не знаю как обьяснить, но вот ключи 3, и 6 мне нужны из
<td>1</td>
Ответить с цитированием
  #8 (permalink)  
Старый 09.12.2015, 19:43
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,144

optsar,
можно это как-то массивом или обьектом нормальным показать и строку тоже? не понимаю я стрелочек
Ответить с цитированием
  #9 (permalink)  
Старый 09.12.2015, 19:50
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,144

optsar,
может вы это хотели?
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>

<body>
<table >

	<tr>
		<td>0</td>
		<td>Тип 0</td>
		<td>Значение 0</td>
	</tr>


	<tr>
		<td>1</td>
		<td>Тип 1</td>
		<td>Значение 1</td>
	</tr>


</table>
<script>

var obj = {};
[].forEach.call( document.querySelectorAll('tr'), function(tr) {
       obj[tr.cells[0].innerHTML] = [tr.cells[1].innerHTML, tr.cells[2].innerHTML]

});
alert(JSON.stringify(obj))

</script>
</body>

</html>
Ответить с цитированием
  #10 (permalink)  
Старый 09.12.2015, 20:06
Аспирант
Отправить личное сообщение для optsar Посмотреть профиль Найти все сообщения от optsar
 
Регистрация: 02.11.2015
Сообщений: 30

именно так, еще раз спасибо !
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как отправить multiple select на сервер Hapson AJAX и COMET 9 17.03.2014 00:45
Как отобразить данные из базы на форме? ascherbakov AJAX и COMET 2 12.03.2014 15:55
Контекстное меню как считать данные из таблицы xela1980 jQuery 25 31.05.2013 14:20
Отправить массив через get на сервер sonntagausgang Общие вопросы Javascript 2 25.05.2013 23:39
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37