在while循环中使用ajax调用url

时间:2015-08-14 08:29:25

标签: javascript php html ajax

我在php中有一个while循环:

<?php
    while($row=mysql_fetch_array($query)){
    ?>
    <tr>
    <td><?php echo $row['user_id']?></td>
    <td><?php echo $row['username']?></td>
    <td><?php echo $row['reg_phone']?></td>
    <td><?php echo $row['provider_id']?></td>
    <td><?php echo $row['trans_id'] ?></td>
    <td><input type='button' class='<?php echo $row['trans_id']?>' id="yes" value ='Yes' ></td>
    </tr>
    <?php
    }
    ?>

这里是javascript代码:

<script>
    $('#yes').click(function() {
        var trans_id=$(this).attr("class");
    $.ajax({

      url: 'infomation/gc_details_2.php',
      data: {'id':trans_id},
      success: function(result) {
         $('#result').html(result);
       }
    });
  });
    </script>

当我点击按钮Yes时,它会向gc_details_2发送请求,结果显示我点击的行trans_id。但它没有表现出来。它显示第一行的trans_id。当我点击其他行的按钮时,它不起作用,并且没有显示任何内容。难道我做错了什么?帮帮我

1 个答案:

答案 0 :(得分:4)

在HTML中,id是唯一标识符。这意味着您只能在页面上使用一次。

因为只有一个可以存在,所以当你附加click处理程序时,点击处理程序的this部分引用了使用唯一标识符找到的第一个元素。

如果您想在同一页面上多次使用id,请将class更改为<td><input type='button' class='yes <?php echo $row['trans_id']?>' value ='Yes' ></td>

$('.yes').click(function() {...}

{{1}}