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

Форум / Клиентские технологии / Печать / RSS-лента
0
1. rastoman (14.02.18 / 00:36)
Чатланин
Всем привет. Возникла трудность с данными, получаемыми через аякс.
Суть такова:
есть файл 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>");
}
});
}

Все работает, передается и принимается кроме одного.
аякс должен подтягивать ссылки при нажатии на кнопки в разной сортировке. Он это исправно делает. Но при нажатии на каждую, подтянутую им ссылку должно всплывать модальное окно.
Вот этого не происходит. Может кто подскажет вариант решения проблемы, если это возможно?
Отредактировано: rastoman (14.02.18 / 13:32)
0
2. DimmoS (14.02.18 / 08:05)
Чатланин
делегируй, они же (ссылки, как я понял) подгружаются
$(document).on('click', '#all', function(){


да и id не советую использовать, лучше уж по классам, а так можешь конфликтов нахватать
Отредактировано: DimmoS (14.02.18 / 08:07)
0
3. rastoman (14.02.18 / 13:16)
Чатланин
DimmoS, #all, #book и остальные это статические кнопки на странице.
Подгружаются ссылки #dialog-item при нажатии на которые должно всплывать модальное окно.
Ссылки подгружаются, но они мертвые.
Вчера перевел вывод ссылок на php и они стали нормально нажиматься с появлением окна.
Но естественно при нажатии на кнопки сортировки вывод идет с перезагрузкой всей страницы.
То есть весь код рабочий, но при варианте с аяксом почему-то ссылки не вызывают модальное окно.
0
4. throw (14.02.18 / 15:32)
HttpException
А где скрипт который ловит нажатие и открывает окно?
0
5. rastoman (14.02.18 / 16:31)
Чатланин
throw, я его не прикладывал. Он полностью работает. Я выше писал, что при переводе вывода с аякса на php все работает. А вот когда аякс подгружает, то ссылки появляются, но окно не вызывают. Если нужно, то я приложу и эту функцию. Эта функция подключена в хидере до тега body для каждого файла
Отредактировано: rastoman (14.02.18 / 16:33)
0
6. throw (14.02.18 / 17:13)
HttpException
И в консоле ничего нету?
0
7. DimmoS (14.02.18 / 17:58)
Чатланин
покажи сайт хоть, ванговать дорого
Смайлы / Теги / Правила / Топ тем / Поиск