Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   проблема с идентификатором (https://javascript.ru/forum/jquery/18655-problema-s-identifikatorom.html)

Noitora 10.07.2011 13:50

проблема с идентификатором
 
Когда я нажимаю на любую кнопку, в любом диве, то все изменения применяются к первому объекту. То есть полученный id всегда первого элемента. Удаляю 15, удаляется первый.

помогите пожалуйста.

//hide message_body after the first one
        $(".message_body").hide();
     
        //toggle message_body
        $(".message_head").click(function(){
            $(this).next(".message_body").slideToggle(500)
            return false;
        });
       
        $("div[value='1']").addClass("alt");
        $(".pane .btn-delete").click(function(){
             
           var _id = ($(".pane").attr("id"));
           var p = 1;
         
            $.ajax({
            url: "status.php",
            global: false,
            type: "POST",
            data: ({id : _id, p: p}),
            dataType: "html",
            success: function(msg){
               alert(msg);
                                  }
            }
            ).responseText;
     
            $(this).parents(".pane").animate({ backgroundColor: "#fbc7c7" }, "fast")
            .animate({ opacity: "hide" }, "slow")
            return false;       
           
        });



$result = mysql_query("SELECT * FROM comments");     
    $myrow = mysql_fetch_array($result);
    do
    {
    printf ("<div class='pane' id='%s' value='%s'>
                <p class='message_head'>Автор:  %s    Дата:  %s</p>
                <div class='message_body'>
                <p>Текст: %s</p>
                <p><a class='btn-delete' href='#'>Delete</a>
                |
                <a class='btn-approve' href='#'>Approve</a>
                |
                <a class='btn-unapprove' href='#'>Unapprove</a></p>    
                </div>
            </div>"
            ,$myrow["id"],$myrow["status"], $myrow["author"],$myrow["date"],$myrow["text"]);
    }
    while ($myrow = mysql_fetch_array($result));

melky 10.07.2011 16:04

зачем ты скинул php?

скинь лучше html после загрузки

Noitora 11.07.2011 03:16

<div id="15" class="pane" value="0">
<p class="message_head">Автор: лпюфтпи Дата: 2011-07-08</p>
<div class="message_body" style="display: none;">
<p>Текст: титюфітиютпиюпи</p>
<p>
<a class="btn-delete" href="#">Delete</a>
|
<a class="btn-approve" href="#">Approve</a>
|
<a class="btn-unapprove" href="#">Unapprove</a>
</p>
</div>
</div>
<div id="14" class="pane" value="0">
<p class="message_head">Автор: ііонононо Дата: 2011-07-08</p>
<div class="message_body" style="display: none;">
<p>Текст: новвро</p>
<p>
<a class="btn-delete" href="#">Delete</a>
|
<a class="btn-approve" href="#">Approve</a>
|
<a class="btn-unapprove" href="#">Unapprove</a>
</p>
</div>
</div>

melky 11.07.2011 10:06

ошибка на 13 линии. смотри сам, какой ид берётся
var _id = ($(".pane").attr("id"));
alert( _id );

ваый 11.07.2011 12:00

var _id = $(this).parent('.pane').attr("id");

Noitora 12.07.2011 15:45

Проблему решил:

var _id = $(this).closest('div.pane').attr('id');


Часовой пояс GMT +3, время: 08:04.