Как бы я обновил jQuery, чтобы несколько нажатий кнопок позволяли динамически вызывать / обновлять данные с помощью ajax? - PullRequest
1 голос
/ 03 мая 2010

Эй, ребята, у меня проблемы ... Я могу захватить первую кнопку на странице, но в общей сложности 10 кнопок. Когда я нажимаю на любую из этих 10 кнопок, вызывается только значение первой кнопки, а остальные не обновляются. Есть ли способ перехватить все кнопки, чтобы у каждой из них было свое независимое значение, и обновить их значения, чтобы функция ajax jQuery получила новую? кнопки создаются из цикла многомерного массива.

<?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 Ответ

1 голос
/ 03 мая 2010

Из того, что я могу понять, проблема, с которой вы сталкиваетесь, заключается в том, что вам нужно отправлять только тот GUID, который принадлежит нажатой кнопке, т.е. следующий в документе. Если я прав, вы можете попробовать это:

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

Кроме того, есть ли реальная необходимость использовать livequery для этого?

...