Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.09.2014, 16:31
Новичок на форуме
Отправить личное сообщение для bobroed Посмотреть профиль Найти все сообщения от bobroed
 
Регистрация: 20.09.2014
Сообщений: 1

Добавление данных из таблицы в другую
День добрый. Есть одна таблица с тремя столбцами. Нужно при нажатии на строку добавлять эту строку в другую таблицу. Помогите, пожалуйста.
Ответить с цитированием
  #2 (permalink)  
Старый 21.09.2014, 01:22
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от bobroed
День добрый. Есть одна таблица с тремя столбцами. Нужно при нажатии на строку добавлять эту строку в другую таблицу. Помогите, пожалуйста.
wtfpl

<style>
table, td, th {
	border: solid 1px;
	border-collapse: collapse;
	padding: 0.5em;
	cursor: pointer;
}
</style>

<table class="table1">
	<tr>
		<td>как</td>
		<td>так</td>
	</tr>
	<tr>
		<th>так</th>
		<th>как</th>
	</tr>
</table>
<br/>
<table class="table2">
	<tr>
		<td>1</td>
		<td>2</td>
	</tr>
</table>

<script>
(function () {
	var table1 = document.getElementsByClassName("table1")[0];
	var table2 = document.getElementsByClassName("table2")[0];
	table1.addEventListener("click", function () {
		var target = event.target;
		if (target.tagName == "TD" || target.tagName == "TH") {
			table2.firstElementChild.appendChild(target.parentNode.cloneNode(true));
		}
	});
})();
</script>
Ответить с цитированием
  #3 (permalink)  
Старый 21.09.2014, 02:22
Профессор
Отправить личное сообщение для Faab Посмотреть профиль Найти все сообщения от Faab
 
Регистрация: 16.04.2012
Сообщений: 310

Сообщение от bes Посмотреть сообщение
wtfpl
Ответить с цитированием
  #4 (permalink)  
Старый 21.09.2014, 09:41
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от Faab
добавлена поддержка ff и ie8
<!doctype html>
<meta charset="utf-8"/>
<style>
table, td, th {
	border: solid 1px;
	border-collapse: collapse;
	padding: 0.5em;
	cursor: pointer;
}
</style>

<table class="table1">
	<tr>
		<td>как</td>
		<td>так</td>
	</tr>
	<tr>
		<th>вот</th>
		<th>так</th>
	</tr>
</table>
<br/>
<table class="table2">
	<tr>
		<td>good</td>
		<td>day</td>
	</tr>
</table>

<script>
(function () {
if(document.getElementsByClassName) {
	getElementsByClass = function(classList, node) {
		return (node || document).getElementsByClassName(classList)
	}
} else {
	getElementsByClass = function(classList, node) {
		var node = node || document,
		list = node.getElementsByTagName('*'), 
		length = list.length,  
		classArray = classList.split(/\s+/), 
		classes = classArray.length, 
		result = [], i,j;
		for(i = 0; i < length; i++) {
			for(j = 0; j < classes; j++)  {
				if(list[i].className.search('\\b' + classArray[j] + '\\b') != -1) {
					result.push(list[i])
					break
				}
			}
		}
		return result;
	}
}

function addEvent(elem, evType, fn) {
	if (elem.addEventListener) {
		elem.addEventListener(evType, fn, false);
	}
	else if (elem.attachEvent) {
		elem.attachEvent('on' + evType, fn)
	}
	else {
		elem['on' + evType] = fn
	}
}

	var table1 = getElementsByClass("table1")[0];
	var table2 = getElementsByClass("table2")[0];
	addEvent(table1, "click", function (event) {
		var target = event.target || window.event.srcElement;
		if (target.tagName == "TD" || target.tagName == "TH") {
			var tbody = table2.firstElementChild || table2.children[0];
			tbody.appendChild(target.parentNode.cloneNode(true));
		}
	});
})();
</script>
Ответить с цитированием
  #5 (permalink)  
Старый 21.09.2014, 19:40
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Боброед, не слушайте их, дело тут не в лицензиях, а в том, что надо взять строку из таблицы 1 и скопировать ее куда-нибудь в таблицу 2. Вот и все. Элементарно.
Ответить с цитированием
  #6 (permalink)  
Старый 21.09.2014, 19:51
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от bobroed
День добрый. Есть одна таблица с тремя столбцами. Нужно при нажатии на строку добавлять эту строку в другую таблицу. Помогите, пожалуйста.
Сообщение от kostyanet
Боброед, не слушайте их, дело тут не в лицензиях, а в том, что надо взять строку из таблицы 1 и скопировать ее куда-нибудь в таблицу 2. Вот и все. Элементарно.
не совсем так: сначала нужно создать таблицу с тремя столбцами, затем создать обработчик нажатия на строку этой таблицы, в котором происходит добавление копии этой строки в другую таблицу.
Ответить с цитированием
  #7 (permalink)  
Старый 22.09.2014, 08:35
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Ну это я подыграл. Тут, конечно, корячится datagrid, который ТС может и найти готовый. На js их как грязи.

ТС, набирайте javascript datagrid и все у вас будет.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получение данных из строки таблицы idShura AJAX и COMET 3 30.05.2014 16:39
Через ajax отправить много данных из таблицы на сервер Heger jQuery 3 29.08.2012 18:51
Двойная Фильтрация данных таблицы David0707 Общие вопросы Javascript 0 19.03.2012 13:00
Изменение окраски строк таблицы, исходя из данных? Space-06 Events/DOM/Window 4 14.02.2012 21:32
Добавление данных в xml файл Arka1m Элементы интерфейса 9 18.11.2011 10:44