我有这个HTML / PHP代码:
$notes.='<div class="note '.$color.'" ';
if($row["xyz"] == '') {
$notes.='style="left:45%; top:10%; z-index:0;"><h3 align="center">New Note</h3>';
} else {
$notes.='style="left:'.$left.'px;top:'.$top.'px;z-index:'.$zindex.'">';
}
$notes.=htmlspecialchars($row['text']).'
<a class="closeMessage">X</a><div class="addedby">'.htmlspecialchars($row['addedby']).'</div>
<span class="data">'.$row['sequence'].'</span>
</div>';
有多个包含数据库中的不同数据
我想使用ajax使用GET将数据发送到PHP页面,我目前有这个:
$('.closeMessage').live('click',function(){
//alert("close");
alert($('span.data').html());
$.get('/includes/sticky_notes/closeMessage.php',{
sequence : $('span.data').html()
});
alert("close");
});
但每次都传递错误的序列。它传递不同行的序列号
答案 0 :(得分:1)
由于您的HTML代码包含多个带有'data'
类的元素,因此当您调用$('span.data').html()
时,您将始终获得数据类的第一个跨度的内部html。
您可以traverse使用dom树并使用siblings函数之类的内容。
$(document).ready( function(){
$('.closeMessage').on('click',function(){
//alert("close");
this_data = $(this).siblings('.data').html();
alert(this_data);
$.get('/includes/sticky_notes/closeMessage.php',{
sequence : this_data
});
alert("close");
});
});
在这个例子中,我们将数据存储在变量this_data = $(this).siblings('.data').html()
中,因此我们引用被单击的元素 - $(this)
,然后在树中向下,直到具有类{{的下一个元素1}}。
最后一件事 - 考虑使用data
代替$('.closeMessage').on
,因为它已被弃用 - http://api.jquery.com/live/