Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Удаление строки в таблице после $.post, jQuery + JSON 
V
    Опции темы
m0zg
Дата 9.8.2011, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 30.7.2007

Репутация: нет
Всего: 2



Замучился уже с этой проблемой. Есть метод на сервере, который возвращает мне список пользователей, на странице это в виде таблицы (выводится ajax-запросом страницы в div). Выглядит примерно так:

Код

<form id="userListForm">
        <table id="usersTable" border="0" width="100%" cellpadding="2" cellspacing="2">
            <thead>
                <tr>
                    ...
                </tr>
            </thead>
            <tbody>
                <c:forEach var="user" items="${users}">
                    <tr id="${user.username}">
                        ...
                        <td>
                            <input type="submit" class="delete" value="Удалить" />
                        </td>
                    </tr>
                </c:forEach>
            </tbody>
            <tfoot>
                <tr>
                    ...
                </tr>
            </tfoot>
        </table>
    </form>


Ну и JavaScript для удаления:

Код

<script language="JavaScript">
        $("input[type='submit']").button();
        
        $("input.delete").click(function(e){
            e.preventDefault();
            $.post("/mo/includes/admin/users/delete", { id: $(this).closest('tr').attr('id') }, function(data){
                    if(data.success){
                        $($(this).closest("tr")).remove();
                    }
            }, "json");
        });
</script>


Возвращается JSON c двумя полями: String и Boolean (сообщение и статус операции). На сервере запись удаляется, в таблице нет (то просто без ошибок, то элемент undefined и т.п.). Если убрать запрос, то работает. Вопрос! Как бы мне ajax-запрос подружить с последующим удалением строки из таблицы? Или я что-то не так сделал? Или не JSON вообще?
PM MAIL   Вверх
нуп
Дата 9.8.2011, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ботокодер
**


Профиль
Группа: Участник
Сообщений: 987
Регистрация: 22.6.2009
Где: Кременчуг

Репутация: 8
Всего: 33



Если правильно понял
Код

 $("input.delete").click(function(e){
            e.preventDefault();
            var self = this;
            $.post("/mo/includes/admin/users/delete", { id: $(this).closest('tr').attr('id') }, function(data){
                    if(data.success){
                        self.closest("tr").remove();
                    }
            }, "json");
        });

PM MAIL   Вверх
m0zg
Дата 9.8.2011, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 30.7.2007

Репутация: нет
Всего: 2



Работает!  smile 

P.S. Держи плюс от меня! smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Применение библиотек | Следующая тема »


 




[ Время генерации скрипта: 0.0653 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.