我有一個頁面上的項目列表動態生成 - 我可以很容易地得到每一個的$ itemid。在同一頁面上的多重jQuery實例
我想爲每個人設置一個投票,但是我不能讓這些實例足夠不同,以便投票鏈接的實例不會互相混淆,而且頁面正在按照您的預期嘗試張貼的所有項目,我的vote.php頁
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
$(".submitVote a").click(function()
{
var ID = <?php echo $itemid;?>;
var add = 1;
var votedby = <?php echo $usr_id ;?>;
var rating = <?php echo $ratings;?>
var queryString = 'id='+ ID +'&votedby='+votedby +'&add='+add +'&rating='+rating;
$("#vote").text(rating+1);
$.ajax({
type: "POST",
url: "vote.php",
data: queryString,
cache: false,
success: function(html)
{
$(".submitVote").html('<p style="margin:1px;padding:0px;"></p>');
$("#greet").html("Thanks for voting!");
$("#greet").delay(500).fadeOut(5000);
}
});
});
});
</script>
<div id="<?php echo $itemid;?>" style="width:350px;">
<span class="submitVote" >
<p style="margin:1px;padding:0px;">
Submit your <a href="#">vote</a>
</p>
</span>
<div id="voteBox">
<div id="vote<?php echo $itemid;?>"> <?php echo $ratings;?> </div>
<span style="color:#fae240;">votes</span>
</div>
<div id="greet" style="padding-left:65px;"></div>
</div>
你的問題不完全清楚,但我懷疑你可以通過利用jQuery調用你的事件處理程序的事實來取得進展,'this'綁定到涉及的DOM元素。因此,只要您的PHP代碼將不同的「id」值和其他信息存儲在「data-」屬性中,事件處理程序就可以形成適當的HTTP請求。 – Pointy 2013-02-17 18:17:07
對不起,我沒有更好的解釋......我如何將$ this與上面的結合起來。在ts中,當前頁面上的所有元素都張貼到post.php頁面 – 2013-02-17 18:41:29
使用PHP將信息放入HTML中,而不是JavaScript中。你沒有發佈HTML的樣子,所以我不能提供細節。 – Pointy 2013-02-17 18:45:04