<MyRusakov.ru />

Профессия Web-разработчик

Профессия Web-разработчик

Этот комплект за 8 месяцев превратит Вас в Web-разработчика с нуля. Учиться достаточно 1 час в день.

Начнёте Вы с HTML, CSS и вёрстки сайтов. Потом перейдёте к программированию и JavaScript. Затем изучите PHP, MySQL, SQL, Python. Изучите Web-фреймворки Laravel и Django. Создадите 5 своих сайтов для портфолио.

Комплект содержит:

- 540 видеоуроков

- 110 часов видео

- 1205 заданий для закрепления материала из уроков

- 5 финальных тестов

- 7 сертификатов

- 12 Бонусных курсов

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Создание движка на MVC. Заканчиваем работу с чатом.

Создание движка на MVC. Заканчиваем работу с чатом.

Здравствуйте, дорогие читатели. Продолжим создание нашего движка и чата.

Откроем файл default.js.

// ...
$.post(url, data, function(o) {
  $("#listInserts").append('<div>' + o.text + '<a href="#" class="del" rel="'+ o.id +'">X</a></div>');
}, 'json');

Добавьте также ссылку на удаление и в цикле.

$("#listInserts").append('<div>' + o[i].text + '<a href="#" class="del" rel="'+ o[i].id +'">X</a></div>');

Теперь добавим обработку клика по ссылке на удаление сразу после цикла.

$('.del').click(function() {
  delItem = $(this);
  var id = $(this).attr('rel');
  $.post('dashboard/xhrDeleteListing', {'id': id}, function(o) {
  $("#listInserts").append('<div>' + o.text + '<a href="#" class="del" rel="'+ o.id +'">X</a></div>');
  delItem.parent().remove();
  }, 'json');
  return false;
});

В файле dashboard_model.php добавим вывод json данных в функции xhrInsert.

// ... $sth->execute(array(':text' => $text)); $data = array('text' => $text, 'id' => $this->db->lastInsertId()); echo json_encode($data);

Также добавим метод для удаления сообщений.

public function xhrDeleteListing() {
  $id = $_POST['id'];
  $sth = $this->db->prepare('DELETE FROM data WHERE id = "'.$id.'"');
  $sth->execute();
}

И, конечно же, создадим контроллер с таким же именем в файле dashboard.php

public function xhrDeleteListing() {
  $this->model->xhrDeleteListing();
}

Теперь сообщения добавляются, удаляются, но не все. Те, которые мы только что добавили, мы удалить не можем. Давайте это исправим, благо с помощью JQuery делается это очень легко.

$('.del').live('click', function() {   // код });

Т.е. мы просто заменяем метод click на метод live.

Итак, наш очень простой чат уже работает.

Спасибо за внимание и удачи!

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (5):

shakur shakur 27.08.2014 23:19:51

Не работает js скрипт удаления(

Ответить

tikkiwiki tikkiwiki 01.09.2014 10:00:31

Все работает.

Ответить

Trust Trust 13.11.2015 13:43:37

А так же нужно писать LIMIT 1 в подобных запросах! Что за не оптимизированный запрос? Так будет граммотно: $sth = $this->db->prepare('DELETE FROM `data` WHERE `id` = "'.$id.'" LIMIT 1');

Ответить

Andr1yk0 Andr1yk0 21.08.2015 10:12:16

вот так будет работать: $(document).on('click','.del', function(){ delItem = $(this); var id = $(this).attr('rel'); $.post('dashboard/xhrDeleteListing', {'id': id}, function() { delItem.parent().remove(); }); return false; });

Ответить

pligin pligin 07.02.2018 22:48:50

Функция удаления ничего не возвращает. Заменил на $(document).on('click', '.del',function() { delItem = $(this); var id = $(this).attr('rel'); $.post('xhrDeleteListing', {'id': id}); delItem.parent().remove(); return false; });

Ответить

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.