В цикле выводится список уведомлений <div class="avto" term="1"> Уведомление 1 </div> <div class="head avto" term="1"> <a href="#">Удалить</a> </div> <div class="avto" term="2"> Уведомление 2 </div> <div class="head avto" term="2"> <a href="#">Удалить</a> </div> При нажатии на "Удалить" нужно скрыть блок с этим уведомлением и удалить его в базе без перезагрузки Как это правильно реализовать? Скрытие блока я реализовал так $(document).ready(function(){ $('.head').click(function(){ term = $(this).attr('term'); //alert(term_text); $('.avto').each(function(){ if ($(this).attr('term') == term){ if ($(this).css('display') == 'none'){ $(this).css('display','block'); } else { $(this).css('display','none');} } }); }); }); а обновление не получается сделать с помощью этого кода можно обновить ($.get("/executive/del_alert.php", "", function(res)) но я не знаю как это сделать в цикле, ведь нужно передавать еще и переменную с идентификатором уведомления!!!???
Оффтопик: Раздел JavaScript и AJAX подошел бы больше для этого вопроса. Оформляй код в [ code ] [ /code ] (без пробелов). прояви уважение к тем, кто захочет тебе помочь. чтобы было обновление, надо запрашивать список этих самых обновлений (по таймеру). не изменяй данные запросом GET! у тебя есть идентификатор в переменной term. передавай его. может уже напишешь код на PHP, как ты его хочешь получить, а мы тебе подскажем как передать )))
за оффтоп извеняюсь. artoodetoo, я не совсем понял что вы написали, да и вы наверное не поняли суть вопроса. в цикле do while выводится div блоки с информацией, в каждом блоке есть ссылка "удалить". при нажатии по ссылке нужно удалить этот блок в базе без перезагрузки и соответственно убрать со страницы... я реализовал скрытие блока этим скриптом Код (Text): $(document).ready(function(){ $('.head').click(function(){ term = $(this).attr('term'); //alert(term_text); $('.avto').each(function(){ if ($(this).attr('term') == term){ if ($(this).css('display') == 'none'){ $(this).fadeOut(); } else { $(this).fadeOut();} } }); }); }); а вот как при этом удалить из базы не знаю
Ganzal, спасибо. дельный совет... то что это нужно сделать ajax-запросом я понимаю, можно хоть кусочек кода-) у каждого блока есть id, который нужно передавать скрипту для удаления записи из базы. я не знаю как передать эту переменную в скрипт... мой код можно доделать для этой цели, допустим с помощью $.get('/executive/inviz_switch.php', '', function(res)?
можно. только я не вижу смысла тратить время на копипаст того чего полно в интернете. ищите, пилите, используйте. удачи.
Ganzal, раз уж заговорили о смыслах, тогда какой смысл этого сайта и твоих сообщений, без обид конечно-)
а смысл в том что что-то можно быстро разжевать, а что-то разжевывать совершенно не обязательно - его навалом и в интернетах и на форуме. это раз. это ваша задача и вы решаете ее своим алгоритмом со своим уровнем знаний и понимания. не вижу смысла решать задачу за вас. вы покажите наработки и мы направим в нужном направлении. это два. да в первую очередь это новичкам нужно понимать, что никто никого не пытается обидеть.
вот я и спрашиваю нужное направление: в цикле выводятся ссылки <div class="head" id="1" term="1"><a href="#">Удалить</a></div> <div class="head" id="2" term="2"><a href="#">Удалить</a></div> <div class="head" id="3" term="3"><a href="#">Удалить</a></div> При нажатии запрос обращается к text.php Код (Text): $(document).ready(function(){ $('#head').click(function() { $.get('/executive/test.php', '', function(res) { if (res == 'on') { $('#inviz').html('Успешно'); } if (res == 'off') { $('#inviz').html('Не успешно'); } }) }); }); Как передать парамерт id оброботчику test.php ?
просто присваивай id и по id и удаляй. Добавлено спустя 1 минуту 2 секунды: или паррента удаляй =) $(this).parent().remove() типа
serj011, вы прочитали мануал? что вы не поняли в нем? я вот не понимаю почему я на форуме php.ru должен разжевывать то что ясным языком написано на офсайте jq. я не понимаю для кого тогда ребята из команды jq пишут мануалы если их все равно никто не читает и рассказывать как работает их инструмент приходится мне. я не понимаю человека который не поискал в интернете, не попытался вникнуть в инструмент а тупо требует решения своей задачи. да пажаласта сам запрос бэкэнда надо переделать на так: $.get('/executive/test.php', {k: v} - это даст установку GET-переменной k в значение переменной v. далее вы придумаете сами как в значение переменной v подставится нужный вам идентификатор ибо это базис программирования который вы должны были пройти перед тем как взяться за решение данной задачи. далее. в бэкэнде мы экстрактим этот ключ из запроса и выполняем с ним запрос к бд. поскольку обсуждение целесообразности вооружения приматов выходит за рамки вашей задачи то публикую сразу мартышку с гранатой: mysql_query('DELETE FROM `table` WHERE `id`='.$_GET['k']);. вот и все. аякс сделал запрос, бэкэнд удалил запись из БД. и даже не думайте обижаться на меня. данные поправки в код как раз примитивно решают вашу задачу. небезопасно, исключительно, но решают. кстати, это работать не будет так как вы навешиваете листенер на элемент с идентификатором head который ни разу не встречается в листинге.
дорогой топикстартер. если бы ты сам понимал чего спрашиваешь, то ответ был бы очевиден самому. я тебе уже ответил по существу: id у тебя в коде есть. нах тебе думать про цикл! просто пойми какой нужен метод, прочти доку по нему и сделай. если мы за тебя кажый шаг будем делать, ты так и останешся 0