Показать сообщение отдельно
  #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>
Ответить с цитированием