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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Удаление элемента jquery 
:(
    Опции темы
assasinnn
Дата 6.6.2010, 08:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здравствуйте форумчане! Пишу небольшой чат для сайта:
В теле страницы у меня есть 
Код

<div id="chat_area"></div>


При добавлении сообщения вызывается функция Load(), которая принимает имя и сообщение и делает следующее:
Код

$js = 'var chat = $("#chat_area");'; // получаем указатель на элемент, потом проходимся по базе сообщений, находим новые, загоняем их в массив и формируем код дальше
foreach ( $messages as $value )
   {
        $id = $value['id'];
    $button = str_replace("recordId",$id,"<input type=image src=images/del.png onclick=Delete('recordId') >");
    $js .= 'chat.append("<span>' . $value['name'] . '&raquo; ' . $value['text'].$button.'</span>");'; 
   }
//после передачи обратно клиенту $js, он выполнит ее eval($js)


По щелчку на кнопку рядом с сообщением вызывается обработчик Delete(Id), который говорит серверу, какую запись из базы удалить...
Теперь собственно вопрос: из базы-то я удаляю, а как удлаить эту запись со страницы? Нажал на кнопку - на глазах пользователя сообщение исчезло. Заранее спасибо!

PM MAIL   Вверх
ksnk
Дата 6.6.2010, 09:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 38
Всего: 386



Вызывать функцию удаления можно так Delete('recordId',this)

само Delete может выглядеть так
Код

function delete(rId,element){
...
  $("#chat_area").remove($(element).parents('span').first());
...
}



--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
assasinnn
Дата 6.6.2010, 09:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(ksnk @ 6.6.2010,  09:10)
Вызывать функцию удаления можно так Delete('recordId',this)

само Delete может выглядеть так
Код

function delete(rId,element){
...
  $("#chat_area").remove($(element).parents('span').first());
...
}

спасибо, как бы еще указатель на элемент этот получить?
PM MAIL   Вверх
kovalenko123
Дата 6.6.2010, 10:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Привет я не так давно справился с этой проблемой тока там была фотогалерея ,
так вот когда в цикле выводились фотки я каждому диву в кот фотка давал ид а так же ид кнопке на удаления и на онклик повесил вот такую функцию



Код

<script type="text/javascript">
    function delerec(id){
        $.get("delete_image.php?id="+id,
        function(data){
            $("#div"+id).css("display","none"); // тот самый див в котором уникальная фотка
        });
    }
</script>


вот вывод
Код

<div id="div<?=$id_photo;?>" style="position:relative;">
                        <div style="width:140px;height:120px; float:left;"> <img onclick="make_image('<?=$image_big;?>');" style="cursor:pointer; margin:10px;" src="<?=$image_min;?>" alt="<?=$name;?>"/>
                            <div><a onclick="delerec(<?=$id_photo;?>);" href="#"><img  style="cursor:pointer; border:0px;margin-left:115px;"src="Recycle.png" alt="Удалить"></a></div>
                        </div>
                    </div>


Надеюсь помог

PM MAIL ICQ   Вверх
ksnk
Дата 6.6.2010, 11:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 38
Всего: 386



Цитата(assasinnn @  6.6.2010,  09:30 Найти цитируемый пост)
спасибо, как бы еще указатель на элемент этот получить? 


Цитата(ksnk @  6.6.2010,  09:10 Найти цитируемый пост)
Вызывать функцию удаления можно так Delete('recordId',this)


Добавлено через 24 секунды
$button = str_replace("recordId",$id,"<input type=image src=images/del.png onclick=Delete('recordId',this) >");
    


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
assasinnn
Дата 6.6.2010, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(ksnk @ 6.6.2010,  09:10)

Код

function delete(rId,element){
...
  $("#chat_area").remove($(element).parents('span').first());
...
}

Задал каждой кнопке уникальный id...
конструкция типа 
Код

$(element).remove();
 работает и удаляет кнопку, по которой произошел клик.
Конструкция же 
Код

$("#chat_area").remove($(element).parents('span').first());
 почему-то вообще никаких действий не производит...
PM MAIL   Вверх
ksnk
Дата 6.6.2010, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 38
Всего: 386



Ну тогда 
Код

$(element).parents('span').first().remove();

должно сработать.


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
assasinnn
Дата 6.6.2010, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(ksnk @ 6.6.2010,  12:49)
Ну тогда 
Код

$(element).parents('span').first().remove();

должно сработать.

Странно, но нет
PM MAIL   Вверх
assasinnn
Дата 6.6.2010, 13:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Всем огромное спасибо! Проблему решил, повесил id на span)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Применение библиотек | Следующая тема »


 




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


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

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