PHP and JQuery передача значения из цикла в JS

Печать RSS
461

F
Автор
Землянин
0
zag.php
<?php
require_once('db.php');

function getraz($row){
            echo '<div id="srazdel">';
            echo '<a href="index.php?act=pcat&amp;id='. $row[0] .'">'. $row[1] .'</a>' ;
            echo ' ';
            echo '<input type="hidden" name="del" id="del" value="'. $row[0] .'" /><a class="del"  href="#del='.$row[0].'" title="Удалить"><font color="red">Удалить</font></a>';
            echo '</div>';
        
};

echo('<div id="zagol"><h1>Админ. панель - Создание разделов</h1></div><br />');

$result = mysql_query('SELECT * FROM cat');

echo('fghfgh'.$_GET['#del'].'');

include_once ('./inc/delraz.inc');

 while ($row = mysql_fetch_array($result))
        {
           getraz($row) ;
         }
             



?>

delraz.inc
<script type="text/javascript">
    $(document).ready(function(){
        $(".del").click(function(){
            var del = $("#del").val();
            $.ajax({
                type: "POST",url: "save.php",
                data: ({del : del}),
                beforesend: alert("Отправляемые данные: del = " + del ),
                success: function(data){$("#raz").load("raz.php");;}
            }); 
        });
        
    });
</script>  

Проблемка в следующем, данные всегда отправляются первые из цикла, то есть если вывелась страница:

Первый раздел Удалить (id раздела 20)
Второй раздел Удалить (id раздела 24)
Третий раздел Удалить (id раздела 29)

Везде где нажимаешь удалить выводиться: Отправляемые данные: del =20.

Кто может подсказать как это исправить, и как вообще можно передать в JS (JQuery) переменные из цикла.
А

Оранжевые штаны
0
Ответ перехватывай success: function(data){$("#
raz").load("raz.php");} аргумент будет ответом сервера
F
Автор
Землянин
0
Мы наверное друг друга не так поняли, он постоянно отправляет на save.php
del=20 какой бы из разделов я не хотел удалить, всегда берет только значение первого, раз уж он отправил на сервер это значение ту сервер думаю его и получил)
А

Оранжевые штаны
0
var del = $("#del").val();
замени на
var del = $(this).val();
F
Автор
Землянин
0
да кстати, глупый совсем вопрос, я года три назад изучал JS JQuery и год был в армии, поэтому позабыл многое, this что значит?

Добавлено через 02:52 сек.
При использовании этого this полученные данные становятся такими del= и на этом все, то есть в JS не чего не передается...
А

Оранжевые штаны
0
id должен быть уникальным.
А

Оранжевые штаны
0
<?php
require_once('db.php');

function getraz($row){
echo '<div id="srazdel">';
echo '<a href="index.php?act=pcat&amp;id='. $row[0] .'">'. $row[1] .'</a>' ;
echo ' ';
<a class="del" href="" idDel="'.$row[0].'" title="Удалить"><font color="red">Удалить</font></a>';
echo '</div>';

};

echo('<div id="zagol"><h1>Админ. панель - Создание разделов</h1></div><br />');

$result = mysql_query('SELECT * FROM cat');

echo('fghfgh'.$_GET['#del'].'');

include_once ('./inc/delraz.inc');

while ($row = mysql_fetch_array($result))
{
getraz($row) ;
}




?>

<script type="text/javascript">
$(document).ready(function(){
$(".del").click(function(){
var del = $(this).attr('idDel');
$.ajax({
type: "POST",url: "save.php",
data: ({del : del}),
beforesend: alert("Отправляемые данные: del = " + del ),
success: function(data){$("#raz").load("raz.php");;}
});
});

});
</script>

попробуй
Изменил: Артур (16.07.2012 / 22:01)
F
Автор
Землянин
0
О, большое спасибо =) помогло)
А

Оранжевые штаны
0
У тебя код кривоват кстати
F
Автор
Землянин
0
В чем именно?) Я просто недавно начал чисто свое писать) это мой первый проект)
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск