обработка данных, полученных через ajax

Печать RSS
509

Автор
Чатланин
0
Всем привет. Возникла трудность с данными, получаемыми через аякс.
Суть такова:
есть файл php к которому обращается браузер. Этот файл генерирует список предметов и создает html страницу с кнопками вывода этих предметов по сортировке. Эти кнопки через аякс подтягивают эти предметы в виде ссылок, при нажатии на которые должно всплыть окно со списком действий.
	switch( $list ) {
		case 'all':            // выбор сортировки
			$items  = $user[ 'items' ];
			$count  = count( $user[ 'items' ] );
			$return = true;
			break;
...............
		for( $i = $start; $i<($start + LIST_INV) && $i<$count; $i++ ) {
..........
		$rez[ 'text' ] .= '<a id="modal" class="list-group-item" href="#dialog-item">'.$name.' ( '.$k[ 1 ].' )</a>';
........
		if( $return ) {
			echo json_encode( $rez );
			exit;
		}

	$game->printPage( 'list_inv', $arr );   //генерация html страницы


есть html страница

<div class="btn-group-justified">
	<a id="all"
	   class="btn btn-primary btn-xs"
	   href="#">Все</a>
.....
</div>
<script>
    $(document).ready(function () {
        $('#all').click(function () {
            getAll('all');
        });
    });
</script>
<div class="list-group" id="list-item"></div> <!-- сюда выводятся ссылки -->

<div id="modal-window"> <!-- окно действий при нажатии на ссылки -->
	<div id="dialog-item"
		 class="window">
		<div>
               тут что-то
		</div>
		<div class="close-btn">
			<a href="#"
			   id="close"
			   class="btn btn-primary btn-block btn-xs">Закрыть</a>
		</div>
	</div>
</div>
и сообственно сама функция
function getAll(vid) {
    $.ajax({
        type: "POST",
        url: "/list_inv.php",
        data: {
            'list': vid
        },
        cache: false,
        dataType: "json",
        success: function (data) {
            $("#list-item").html(data.text);
        },
        error: function () {
            $("#list-item").html("<div class='text-center'>Раздел пуст.</div>");
        }
    });
}
Все работает, передается и принимается кроме одного.
аякс должен подтягивать ссылки при нажатии на кнопки в разной сортировке. Он это исправно делает. Но при нажатии на каждую, подтянутую им ссылку должно всплывать модальное окно.
Вот этого не происходит. Может кто подскажет вариант решения проблемы, если это возможно?
Изменил: Александр (14.02.2018 / 13:32)

Оранжевые штаны
0
делегируй, они же (ссылки, как я понял) подгружаются
$(document).on('click', '#all', function(){

да и id не советую использовать, лучше уж по классам, а так можешь конфликтов нахватать
Изменил: Dmitry Kokorin (14.02.2018 / 08:07)
Автор
Чатланин
0
DimmoS, #all, #book и остальные это статические кнопки на странице.
Подгружаются ссылки #dialog-item при нажатии на которые должно всплывать модальное окно.
Ссылки подгружаются, но они мертвые.
Вчера перевел вывод ссылок на php и они стали нормально нажиматься с появлением окна.
Но естественно при нажатии на кнопки сортировки вывод идет с перезагрузкой всей страницы.
То есть весь код рабочий, но при варианте с аяксом почему-то ссылки не вызывают модальное окно.
J

Оранжевые штаны
0
А где скрипт который ловит нажатие и открывает окно?
Автор
Чатланин
0
throw, я его не прикладывал. Он полностью работает. Я выше писал, что при переводе вывода с аякса на php все работает. А вот когда аякс подгружает, то ссылки появляются, но окно не вызывают. Если нужно, то я приложу и эту функцию. Эта функция подключена в хидере до тега body для каждого файла
Изменил: Александр (14.02.2018 / 16:33)
J

Оранжевые штаны
0
И в консоле ничего нету?

Оранжевые штаны
0
покажи сайт хоть, ванговать дорого
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск