проблема с идентификатором
Когда я нажимаю на любую кнопку, в любом диве, то все изменения применяются к первому объекту. То есть полученный 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));
|
зачем ты скинул php?
скинь лучше html после загрузки |
<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> |
ошибка на 13 линии. смотри сам, какой ид берётся
var _id = ($(".pane").attr("id"));
alert( _id );
|
var _id = $(this).parent('.pane').attr("id");
|
Проблему решил:
var _id = $(this).closest('div.pane').attr('id');
|
| Часовой пояс GMT +3, время: 20:06. |