Javascript.RU

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

Выполнение load в определённый div
Имеется скрипт
<script>
$(document).ready(function(){
	$("a.answer").click(function(){
		var div = $(this).parents(".comment");
		var comment = div.attr('id');
		$('#comment  (id)  _answer').load('block.php');
	});
});
</script>

<div class="comment" id="comment512">
	<div class="content">
		text
	</div>
	<div class="comment512_answer"></div>
	<a href="#" class="answer">
		rep
	</a>
</div>

возможно коряво сделан, не ругайтесь.
Где var vomment, даёт нам id родительского блока при нажатии на кнопку "ответить" с классом answer, допустим comment512.
Помогите сделать так что бы при нажатии, содержимое block.php отображалось в соответствующем div comment512_answer, а не в каком либо другом.
Заранее Спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 20.06.2015, 19:22
Аватар для Sigizmund2012
Профессор
Отправить личное сообщение для Sigizmund2012 Посмотреть профиль Найти все сообщения от Sigizmund2012
 
Регистрация: 16.07.2014
Сообщений: 267


<div class="comment" id="comment512">
  <div class="content">
    text
  </div>
  <div class="comment512_answer"></div>
  <a href="#" class="answer">
    rep
  </a>
</div>


<script>
$(document).ready(function(){
  $("a.answer").click(function(){
    var div = $(this).parents(".comment");
    var selector = '.' + div.attr('id') + '_answer';
    $( selector ).load('block.php');
  });
});
</script>

Содержимое моего block.php:
<?php 
	echo "My supercomment";
 ?>

Последний раз редактировалось Sigizmund2012, 20.06.2015 в 19:25.
Ответить с цитированием
  #3 (permalink)  
Старый 20.06.2015, 19:32
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

SpearMint,<div class="comment512_answer"></div> блок с таким классом один или их много?

может просто $(this).prev().load('block.php');
Ответить с цитированием
  #4 (permalink)  
Старый 20.06.2015, 21:06
Новичок на форуме
Отправить личное сообщение для SpearMint Посмотреть профиль Найти все сообщения от SpearMint
 
Регистрация: 04.03.2015
Сообщений: 5

Их именно много comment_512 comment_1024 и так далее, то есть id комментария из БД.
Ответить с цитированием
  #5 (permalink)  
Старый 20.06.2015, 21:14
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

SpearMint,
$(this).prev().load('block.php'); подошло?
Ответить с цитированием
  #6 (permalink)  
Старый 21.06.2015, 15:55
Новичок на форуме
Отправить личное сообщение для SpearMint Посмотреть профиль Найти все сообщения от SpearMint
 
Регистрация: 04.03.2015
Сообщений: 5

Сообщение от рони Посмотреть сообщение
SpearMint,
$(this).prev().load('block.php'); подошло?
Нет, не подошло.

Теперь появился несколько иной вопрос, всё в том же скрипте дописал что при клике на кнопку Cancel закрывается блок form, но эти блоки находятся в самом загружаемом файле и Cancel не хочет работать с ним, тем ни менее блок c id form закрывается, я так понимаю лучше прописать скрипт в загружаемый файл?
Ответить с цитированием
  #7 (permalink)  
Старый 21.06.2015, 16:02
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от SpearMint
Нет, не подошло.
значит у вас иная структура html, а не та что вы указали.
далее ваш текст увы не осилил.
Ответить с цитированием
  #8 (permalink)  
Старый 21.06.2015, 16:14
Новичок на форуме
Отправить личное сообщение для SpearMint Посмотреть профиль Найти все сообщения от SpearMint
 
Регистрация: 04.03.2015
Сообщений: 5

Сейчас подробно объясню, если честно сам не понимаю что написал

После нажатия на кнопку answer, загружается страница с текстовым редактором, допустим my.html
<form action="" method="POST" id="form">
	<textarea></textarea>
	<input type="submit" value="Отправить">
	<input type="button" value="Отменить" id="Cancel">
</form>

Если делать запрос из самого index.html
$('#Cancel').click(function(){
	$('#form').remove();
});

то скрипт не выполняется, но если поместить этот скрипт в my.html, то эффект положительный и скрипт выполняется.
Ответить с цитированием
  #9 (permalink)  
Старый 21.06.2015, 16:20
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

SpearMint,
клик надо ставить на
$('.comment').on('click', '[id="Cancel"]', function(){$('#form').remove();})
примерно так
Ответить с цитированием
  #10 (permalink)  
Старый 22.06.2015, 08:05
Аватар для Sigizmund2012
Профессор
Отправить личное сообщение для Sigizmund2012 Посмотреть профиль Найти все сообщения от Sigizmund2012
 
Регистрация: 16.07.2014
Сообщений: 267

Сообщение от рони
'[id="Cancel"]'
Жесть, зачем так делать? Тогда уж вот так:
$('.comment').on('click', '#Cancel', function(){$('#form').remove();})

Или я чего-то не догоняю?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выполнение javascript для одного div bengalsky AJAX и COMET 7 06.05.2015 12:45
проверка на выполнение load face2005 jQuery 16 11.11.2014 14:25
Jquery, Последовательное выполнение функций разных div в одном скрипте. schnitzer Общие вопросы Javascript 3 29.09.2013 02:49
Проблема с load в div и импортом стороннего кода с помощью javascript 1quick1 Events/DOM/Window 9 04.02.2011 13:16
Подгрузка контента в определённый DIV при нажатии на ссылку, без перезагрузки страниц Flashton Events/DOM/Window 0 10.03.2010 19:53