Автор Тема: Как верно передать в data (ajax json) параметр заданный на php?  (Прочитано 245 раз)

0 Пользователей и 1 Гость смотрят эту тему.

Оффлайн zw17

  • Новичок
  • *
  • Сообщений: 2
  • Карма: 0
День добрый. Работаю с Zendframework 3. Приложение выводит во вьюхе(phtml) посты из БД массивом через foreach. При каждом есть кнопка(ссылка) "добавить в Избранное". Выглядит этот фрагмент так

<table class="table table-striped"><tr><th>Избранное</th><th>ID</th><th>Заголовок</th><th>Дата создания</th><th>Статус</th><th>Действия</th></tr
<?
php foreach ($posts as $post): ?>

<tr><td><!--ВОТ ОНА ЭТА КНОПКА ИЗБРАННОЕ--> 
<a class="btnf" style="color: #B5B5B5;" data-id="<? echo $this->escapeHtml($post->getId()); ?>">

<span class="glyphicon glyphicon-star" ></span></a></td>

<td><?= $this->escapeHtml($post->getId()); ?></td>
<td><a href="<?= $this->url('posts', ['action'=>'view''id'=>$post->getId()]); ?>">
<?= $this->escapeHtml($post->getTitle()); ?></a></td>
<td><?= $this->escapeHtml($post->getDateCreated()); ?></td> 
<td><?= $this->escapeHtml($postManager->getPostStatusAsString($post)); ?> </td>
<td> <div class="a" data-id="1">
<a class="btn btn-info" href="<?= $this->url('posts',['action'=>'edit''id'=>$post->getId()]); ?>">
<span class="glyphicon glyphicon-pencil" ></span> Изменить</a>
<a class="btn btn-danger" href="<?= $this->url('posts',['action'=>'delete''id'=>$post->getId()]); ?>">
<span class="glyphicon glyphicon-remove"></span> Стереть</a></div></td></tr> 
<?php endforeach; ?> </table>


через атрибут data-id я пытаюсь передать ID поста который задан в этом phtml через foreach
но в JSON при передаче через $.ajax({}) попадает только ID первого поста в колонке даже если я выбираю другой! По разному пытался но json либо ловит ноль либо первый ID. Как мне правильно получить параметр?
« Последнее редактирование: Май 17, 2017, 02:50:15 от zw17 »

Оффлайн zw17

  • Новичок
  • *
  • Сообщений: 2
  • Карма: 0
всё, уже сам разобрался. я неправильно передавал data('id') в скрипте js. :-[ Когда задал var id = $(this).data("id"); ----- заработало, теперь ID берет правильно. :)