Javascript.RU

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

Копирование значение из ячейки таблицы в модальное окно
Не понимаю, почему если кликнуть на автора, то этот автор не подгружается в поле input, которое находится в модальном окне?

Я же указываю author[i], значит должно взяться значение у нужной таблицы.

<style>
table {
	border-spacing: 0;
	border-collapse: collapse;
}

td {
	border: 1px solid #ccc;
	padding: 5px;
	text-align: center;
}

.admin-question {
	margin-bottom: 20px;
	padding: 5px;
}

.popup {
	width: 300px;
	height: 120px;
	padding: 10px;
	border: 1px solid;
	position: fixed;
	margin: auto;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: #f3f3f3;
	display: none;
}
</style>

<div class="admin-question">
   <table>
     <tr>
       <td>Автор</td>
       <td>Редактировать</td>
     </tr>
     <tr>
       <td>Олег</td>
       <td class="author"><a href="">автора</a></td>
     </tr>
    </table>
</div>

<div class="admin-question">
   <table>
     <tr>
       <td>Автор</td>
       <td>Редактировать</td>
     </tr>
     <tr>
       <td>Иван</td>
       <td class="author"><a href="">автора</a></td>
     </tr>
    </table>
</div>

<div class="popup">
	<p>Редактирование автора</p>
	
	<form method="POST">
		<input class="inner" type="text"><br><br>
		<input type="submit" value="Изменить">
		<input class="cancel" type="button" value="Отмена">
	</form>
</div>

<script>
var popup = document.querySelector('.popup');
	var inner = document.querySelector('.inner');
	var cancel = document.querySelector('.cancel');
	var author = document.querySelectorAll('.author');
	
	for(var i = 0; i < author.length; i++){
		author[i].addEventListener('click', function() {
			event.preventDefault();
			popup.style.display = 'block';
      console.log(author[i].previousElementSibling.textContent);
			inner.value = author[i].previousElementSibling.textContent;
		});
	}
	
	cancel.addEventListener('click', function() {
		popup.style.display = 'none';
	});
</script>
Ответить с цитированием
  #2 (permalink)  
Старый 25.05.2017, 17:36
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

DivMan,
замените for на forEach, или прочтите что-нибудь про замыкания
Ответить с цитированием
  #3 (permalink)  
Старый 25.05.2017, 17:44
Профессор
Отправить личное сообщение для DivMan Посмотреть профиль Найти все сообщения от DivMan
 
Регистрация: 08.03.2016
Сообщений: 429

Спасибо, заменил на forEach
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не передается значение в модальное окно Batyabest Events/DOM/Window 14 18.05.2015 16:14
Как получить значение ячейки таблицы внутри блока div, в итерации .each() Sanu0074 jQuery 1 21.01.2014 19:32
Выводить значение раньше переменных Гробовщик Общие вопросы Javascript 11 10.09.2013 08:42
копирование текста из ячейки таблицы в textarea racoon Общие вопросы Javascript 5 22.07.2013 22:17
Как вывести возвращаемое функцией значение не через модальное окно? Bandicoot Общие вопросы Javascript 1 10.03.2011 18:34