Javascript.RU

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

N кол во таблиц div в цикле нужно скрыть\показать определенный
Доброго времени суток! у меня возникла такая проблема: у меня есть большое количество строк которые выводятся из БД на страницу циклом по порядку, и мне нужно что бы возле любой из записей нажать на кнопку она скрывается и появляется спрятанное поле(редактирования). То есть 1 поле видимо 2 скрыто когда нажал на кнопку поменялись местами. Но суть проблемы в том что я не могу указать конкретное Id элемента т.к если


<div style="display:inline; " id="fir">

ставить так то у меня будет куча записей с id "fir" и я не смогу обратится к конкретному. Помогите пожалуйста решить проблему


<div style="display:inline; " id="fir">
<div style="display:none;" id="sec">
<div style="display:inline; " id="fir">
<div style="display:none;" id="sec">
<div style="display:inline; " id="fir">

я пробовал делать так
function cheng(){
    
 document.getElementById('sec').style.display='inline'
          document.getElementById('fir').style.display='none';
     }
 function chengok(){
    
         document.getElementById('sec').style.display='none';
          document.getElementById('fir').style.display='inline';
     }

ф-ция cheng() на видемом поле Chengok() на скрытом
Ответить с цитированием
  #2 (permalink)  
Старый 10.10.2014, 15:06
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

<html>
<body>
</body>
<script>
var db = [4, 6, 8, 5, 7];

//create data
var table = document.createElement('table');
var content = [];
db.forEach(function (val) {
	content.push('<td>' + val + '</td><td><input type="button" value="Редактировать" class="edit"></td>');
})
table.innerHTML = '<tr>' + content.join('</tr><tr>') + '</tr>';
document.body.appendChild(table);

function insertAfter(elem, refElem) {
    var parent = refElem.parentNode;
    var next = refElem.nextSibling;
    if (next) {
        return parent.insertBefore(elem, next);
    } else {
        return parent.appendChild(elem);
    }
}

document.body.onclick = function (e) {
	var button = e.target;
	switch (button.getAttribute('class')) {
		case 'edit':
			var tr = document.createElement('tr'),
				thsTr = button.parentElement.parentElement;
			
			tr.innerHTML = [
				'<td>',
					'<input type="text" value="' + thsTr.getElementsByTagName('td')[0].innerHTML + '">',
				'</td>',
				'<td>',
					'<input type="button" value="Сохранить" class="save">',
				'</td>'
			].join('');
		
			insertAfter(tr, thsTr);
			thsTr.style.display = 'none';
			break;
		
		case 'save':
			var thsTr = button.parentElement.parentElement,
				value = thsTr.getElementsByTagName('input')[0].value;
			
			thsTr.previousSibling.getElementsByTagName('td')[0].innerHTML = value;
			thsTr.previousSibling.style.display = 'table-row';
			thsTr.remove();
			break;
	}
}
</script>
</html>

Последний раз редактировалось skrudjmakdak, 10.10.2014 в 15:15.
Ответить с цитированием
  #3 (permalink)  
Старый 10.10.2014, 15:12
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,205

Сообщение от dipfrost
у меня будет куча записей с id "fir"
ИД должно быть уникальным на странице...
Ответить с цитированием
  #4 (permalink)  
Старый 10.10.2014, 15:12
Аватар для Arramis
Кандидат Javascript-наук
Отправить личное сообщение для Arramis Посмотреть профиль Найти все сообщения от Arramis
 
Регистрация: 22.07.2013
Сообщений: 104

http://learn.javascript.ru/event-delegation
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нужно, чтоб Div менялся в зависимости от размера картинки bazilio2010 Элементы интерфейса 7 10.10.2011 22:36
Аjax запрос формирует div с изображениями, нужно показать после загрузки изображений Khmelevsky AJAX и COMET 2 13.09.2010 23:16
нужно создать много копий div ASM29A Элементы интерфейса 3 27.03.2010 20:22
Подгрузка контента в определённый DIV при нажатии на ссылку, без перезагрузки страниц Flashton Events/DOM/Window 0 10.03.2010 19:53