使用JavaScript从PHP获取id

3
早上好!我有一个代码问题。我需要点击一张图片并获取该图片的信息叠加层。我已经有了叠加层,我的图片已发送ID。
我的PHP代码如下:
echo "<td><a href='#?id=".$row['id']."'' class='qwe'><img src='../covers/nocover.jpg' width='100' /></a></td>";

我的JavaScript代码如下:

$( ".qwe" ).click(function() {
  $.get("Get.php", function(respuesta){
      $("#popup").html(respuesta);
  })
  $( "#popup" ).show("fade");
}); 

我的Get.php文件如下:

<h1>You sent a value by GET: <?php echo $_GET['id']; ?></h1>

当我点击我的锚点类.qwe时,我的覆盖层能够正常工作,它打开并显示了Get.php文件,但问题是我不知道如何捕获我的锚点发送的id。

2个回答

3
给具有id属性的元素赋值。
<a id='".$row['id']."' href='#?id=".$row['id']."'' class='qwe'

使用this.id读取id,您可以将其发送到上层

$( ".qwe" ).click(function() {
   var id = this.id;
   $.get("Get.php", { "id" : id }, function(respuesta){

如果你真的不想设置元素的ID,你可以读取attr("href")并将其附加到URL上。

$( ".qwe" ).click(function() {
   var qs = $(this).attr("href")
   $.get("Get.php" + qs, function(respuesta){

我采用了你的答案并做了这个:<a id='?id=".$row['id']."' href='#' class='qwe'... 然后它起作用了!谢谢兄弟! - PabloArty
在HTML4中,id不能以数字开头,这是需要记住的事情;也许data-id属性会更好一些。 - Ja͢ck

2
如果在 a 元素上设置了 id 属性,它将可以被 JS 访问。
echo "<td><a id='". $row['id'] ."' href='#?id=".$row['id']."'' class='qwe'><img src='../covers/nocover.jpg'     width='100' /></a></td>";

然后在JS中:

$( ".qwe" ).click(function() {
    var id = this.id;

另外,如果您不想使用id属性(如Jack所提到的,在HTML4中不能以数字开头),您可以使用HTML5的data-属性,并使用jQuery的.data()函数访问这些属性。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接