PHP AJAX JSON 发送到模式 window

PHP AJAX JSON send to modal window

我使用 Ajax 方法越来越好。不过,我一直 运行 关注小问题。

例如,我正在尝试创建一个 display-comment 类型的功能,当用户单击 link 时,将打开一个模式 window,其中包含评论的历史记录partner-code.

我已经使用 PHP 将数据 return 放入网格中。我认为我不需要显示用于 return 数据的代码。

这是我用来在超链接中存储 data-attributes 和其他信息的 ECHO:

 <?php
   ......

   echo "<td><a href='' id='pComment' name='".$row[partner_code]."' 
                class='comment' data-toggle='modal' data-code='".$row[partner_code']."' 
                data-name='".$row[partner_name]."'>" . $row[partner_name] . "</a></td>";

如您所见,我尝试将 ROW 数据 [partner_code] 存储在 NAME 属性中。我还有一个名为 data-code 的 data-attribute,它也包含 $row[partner_code].

在我的 javascript 文件中,名为 global.js,这是我目前拥有的:

 $('a#pComment').on('click', function()
 {
   var partnercode = $('a').attr('data-code');
   alert(partnercode);
 }

我有 php 代码可以检索合作伙伴代码和 运行 查询。这工作正常,但我遇到问题的是上面的 javascript 代码。

目前,当我点击 link 时,我正在尝试提醒 partner-code。但我唯一收到的是:

我试过这个:

 var partnercode = $('a#pComment').attr('data-code');

但是对于我单击的每一个 link,警告框都会显示 0000000001。

我知道一旦我能让 window 至少显示正确的 partner-code,我就可以将它发送到我的 PHP 文件到 运行查询以检索评论。但我无法克服这个问题。

您可以有重复的 ID,因此请将其更改为 class:

echo "<td><a href='' name='".$row[partner_code]."' 
            class='comment pComment' data-toggle='modal' data-code='".$row[partner_code']."'
            data-name='".$row[partner_name]."'>" . $row[partner_name] . "</a></td>";

然后用this

定位你js中点击的link
$('a.pComment').on('click', function()
 {
   var partnercode = $(this).attr('data-code');
   alert(partnercode);
 }

第一次回答别人以外的问题

为什么不使用 $(this)?此外,为什么在您已经获得触发事件的元素时再次引用 $('a') ?选择 $('a') 意味着您选择了所有这些,对吧?

还有jQuery有数据方法供你使用。您可以在这里查看:http://api.jquery.com/data/

Idk,看看这些是否有帮助。

 $('a#pComment').on('click', function()
 {
   var partnercode = $(this).data('code');
   console.log(partnercode);
 }