我的PHP页面中有一个while循环,在其中查看以下内容...

    print $divLeft.strip_tags($row->twitterUser)."?size=normal\"/><br \/>".$row->twitterUser.$divRight."<a href='javascript:void(0);' id='vote_$row->id' class='getPoint'>Get " .$row->coff. "<input type='hidden' value='$row->coff' id='credoff'/> credit(s)</a><br /></div>$clearDiv</div></div>";


我在隐藏字段中设置了一个值,然后在我的JavaScript中调用该值...

{
   var theid = $(this).attr("id");
   var onlyID = theid.split("_");
   var onlyID = onlyID[1];
   credoff = $("#credoff").val();


    $.ajax({
      url: 'do.php',
      type: 'POST',
      data: "userID=" + onlyID,
      success: function(data) {
          if(data != "success1" && data != "success5") {
               $("#" + theid).text(data);
          }else{

              $("#thediv_" + onlyID).fadeOut("slow");
              $('#creditsBalance').fadeOut("slow");
              newbalance = parseInt($('#creditsBalance').text());

          if(data != "success5") {
              alert('Credits offered = '+credoff);


唯一的是在我的JavaScript中,它抓住了页面上最高的“ credoff”变量值,而不是单击的那个,这有意义吗?

最佳答案

首先,$('#credoff')是一个id ...,并且ID对于页面是唯一的。其次,如果有多个(并通过CSS选择器正确构建),则您调用$('#credoff')的方式只会为您提供第一个的值,因为您没有将其与事件目标。

由于在结构上看起来像输入是的子代(也很奇怪,顺便说一句),因此您需要使用如下选择器来获取credOff:

$('.getPoint').click(function(){
    // properly associated with the event target.
    var credOff = $(this).find('input').val();
    // etc.
}

09-18 17:31