Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Выполнение load в определённый div (https://javascript.ru/forum/dom-window/56531-vypolnenie-load-v-opredeljonnyjj-div.html)

SpearMint 20.06.2015 17:56

Выполнение 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, а не в каком либо другом.
Заранее Спасибо!

Sigizmund2012 20.06.2015 19:22

:write:
<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";
 ?>

рони 20.06.2015 19:32

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

может просто $(this).prev().load('block.php');

SpearMint 20.06.2015 21:06

Их именно много comment_512 comment_1024 и так далее, то есть id комментария из БД.

рони 20.06.2015 21:14

SpearMint,
$(this).prev().load('block.php'); подошло?

SpearMint 21.06.2015 15:55

Цитата:

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

Нет, не подошло.

Теперь появился несколько иной вопрос, всё в том же скрипте дописал что при клике на кнопку Cancel закрывается блок form, но эти блоки находятся в самом загружаемом файле и Cancel не хочет работать с ним, тем ни менее блок c id form закрывается, я так понимаю лучше прописать скрипт в загружаемый файл?

рони 21.06.2015 16:02

Цитата:

Сообщение от SpearMint
Нет, не подошло.

значит у вас иная структура html, а не та что вы указали.
далее ваш текст увы не осилил.

SpearMint 21.06.2015 16:14

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

После нажатия на кнопку 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, то эффект положительный и скрипт выполняется.

рони 21.06.2015 16:20

SpearMint,
клик надо ставить на
$('.comment').on('click', '[id="Cancel"]', function(){$('#form').remove();})
примерно так

Sigizmund2012 22.06.2015 08:05

Цитата:

Сообщение от рони
'[id="Cancel"]'

Жесть, зачем так делать? Тогда уж вот так:
$('.comment').on('click', '#Cancel', function(){$('#form').remove();})

Или я чего-то не догоняю?


Часовой пояс GMT +3, время: 13:03.