Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Перестает срабатывать скрипт на нажатие после динамического поиска (https://javascript.ru/forum/dom-window/71316-perestaet-srabatyvat-skript-na-nazhatie-posle-dinamicheskogo-poiska.html)

chellas88 09.11.2017 20:46

Перестает срабатывать скрипт на нажатие после динамического поиска
 
Собственно сабж. Есть таблица:
<div class="content">
		<?php
		$sql = mysql_query("SELECT * FROM `posv` ");
		while ($item = mysql_fetch_assoc($sql)) {
		echo '<div id="'.$item['id'].'" class="item">';
		echo '<div class="seria">'.$item['seria'].'</div>';
		echo '<div class="name">'.$item['name'].'</div>';
		echo '<div class="akt">'.$item['akt'].'</div>';
		echo '<div class="status">'.$item['status'].'</div>';
		echo'</div>';
		}
		?>
	</div>

Есть скрипт на нажатие элемента класса item
$(function(){
	$('.item').click(function(){
		var pensioner = $(this).attr('id');
		$('.black').fadeIn(400, function(){
			$('.popup').show();
			$('.main_menu').hide();
			$('.popup').attr("pensioner", pensioner);
			$('.popup').load('card_open.php');
		});
	});
});


Также есть живой поиск


$(function(){
	$('#search').keyup(function(){
		var search = $('#search').val();
		$('#load').show();
		$.ajax({
			type: "POST",
			url: "search.php",
			data: {"search": search},
			cache: false,
			success: function(response) {
				$('.content').html(response);
			}
		});
		return false;
	});


});

и обработчик живого поиска
while ($item = mysql_fetch_assoc($sql)) {
	echo '<div id="'.$item['id'].'" class="item">';
		echo '<div class="seria">'.$item['seria'].'</div>';
		echo '<div class="name">'.$item['name'].'</div>';
		echo '<div class="akt">'.$item['akt'].'</div>';
		echo '<div class="status">'.$item['status'].'</div>';
	echo'</div>';
}

Поиск отлично работает, но после поиска каких то значений и обновления дива content нажатие на элементе item уже не срабатывает. 2 дня голову ломаю. Помогите плиз

рони 09.11.2017 21:00

chellas88,
$('.item').click(function(){
клик ставят на то что есть всегда
$('.content').on('click','.item',function(){

chellas88 09.11.2017 21:03

Цитата:

Сообщение от рони (Сообщение 469672)
chellas88,
$('.item').click(function(){
клик ставят на то что есть всегда
$('.content').on('click','.item',function(){

так совсем не срабатывает

рони 09.11.2017 21:06

chellas88,
поставьте выше '.content' на 'body' если не ошиблись

chellas88 09.11.2017 21:11

Цитата:

Сообщение от рони (Сообщение 469675)
chellas88,
поставьте выше '.content' на 'body' если не ошиблись

.content в индексной странице прописан

<body>
<div class="content">
//Сюда вставляются результаты поиска
</div>
</div>

Если заменить на body так же не срабатывает

рони 09.11.2017 21:23

chellas88,
консоль смотрели?

chellas88 09.11.2017 21:27

Uncaught TypeError: $(...).on is not a function
at HTMLDocument.<anonymous> (card_open.js:2)

рони 09.11.2017 21:28

chellas88,
версия jquery какая ?

chellas88 09.11.2017 21:30

рони,
1.6.1.min

рони 09.11.2017 21:31

chellas88,
а выкинуть 1.6.1.min и поставить актульную версию хотя бы
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>


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