2010-05-03 55 views
1

嘿傢伙,我有一些麻煩... 我能夠捕捉頁面上的第一個按鈕,但總共有10個按鈕。當我點擊這10個按鈕中的任何一個時,只調用第一個按鈕的值,而其他按鈕的值不會更新。有沒有辦法捕捉所有的按鈕,使他們每個人都有自己的獨立價值和更新他們的價值觀,所以jQuery的Ajax功能獲得新的?這些按鈕是由多維數組循環創建的。如何更新jQuery以允許多點按鈕點擊動態調用/更新數據使用Ajax?

<?php 
$characters = $char->getCharactersListFromAccountId($_SESSION['acctid']); 
foreach ($characters as $key) { 
    if(is_array($key)){ 
    echo "<input class=\"button\" type=\"button\" href=\"javascript:void(0)\" value=\"Show\" style=\"vertical-align: top\" />"; 
    echo $char->getFaction($key['guid']), "&nbsp;"; 
    echo $char->getClass($key['guid']), "&nbsp;"; 
    echo "<span class='style'>", $char->getLevel($key['guid']), "</span>&nbsp;"; 
    echo "<span class='style'>", $key['name'], "</span>"; 
    echo "<input class=\"GUID\" type=\"hidden\" name=\"GUID\" value=\""; 
    echo $key['name']; 
    echo "\" />"; 
    echo "<br>"; 
    } else { 
    echo "<br>"; 
    echo "<b><h1>My Characters: $key</h1></b><br />\n"; 
    } 
} 
?> 
<div id="view" style="display: none;"></div> 
<script> 
$(".button").livequery('click', function(event) { 
    var GUID = $('.GUID').val(); 
    $("#view").html('Retrieving...'); 
    $("#view").show("slow"); 
    $.ajax({ 
    type: "POST", 
    data: "ID=" + GUID, 
    url: "character.php", 
    success: function(msg){ 
    $("#view").html(msg); 
    } 
    }); 
}); 
</script> 

回答

1

據我所知,你所面臨的問題是,您需要發送只屬於點擊的按鈕的GUID - 即下一個在文檔中。如果我是正確的,你可以試試這個:

$(".button").livequery('click', function(event) { 
    // get the next GUID value 
    var GUID = $(this).nextAll('.GUID:first').val(); 
    ... 

此外,是否有任何真正的需要使用livequery呢?

+0

謝謝karim!有效! 不,我忘了採取livequery出來之前我貼lol - 我想也許這是jQuery的綁定/解綁問題。非常感謝您的幫助。 – Koone 2010-05-03 11:15:04

相關問題