【问题标题】:PHP AJAX JSON send to modal windowPHP AJAX JSON 发送到模式窗口
【发布时间】:2019-02-22 21:27:11
【问题描述】:

我正在使用 Ajax 方法变得更好。不过,我总是遇到一些小问题。

例如,我正在尝试创建一个显示评论类型的功能,当用户单击链接时,将打开一个模式窗口,其中包含合作伙伴代码的 cmets 历史记录。

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

这是我用来在 HYPERLINK 中存储数据属性和其他信息的 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 的数据属性,其中还包含 $row[partner_code]。

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

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

我有将检索合作伙伴代码并运行查询的 php 代码。这很好用,但我遇到的问题是上面的 javascript 代码。

目前,当我单击链接时,我正在尝试提醒合作伙伴代码。但我收到的唯一信息是:

我试过了:

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

但是对于我单击的每个链接,警报框都会显示 0000000001。

我知道一旦我可以让窗口至少显示正确的合作伙伴代码,然后我可以将其发送到我的 PHP 文件以运行查询以检索 cmets。但我无法克服这一点。

【问题讨论】:

  • 做了任何基本的调试,比如view source,看看那个数据代码属性是否真的得到了赋值?也许您有多个具有相同 ID 的单元格,而 html 中的第一个单元格没有开头的值。
  • @Marc B - 我检查了 Chrome 的控制台。 name 属性和 data-code 属性都为每个链接显示相同的代码。所有属性看起来都不错,并且都有值。

标签: php jquery ajax json modal-dialog


【解决方案1】:

你不能有重复的 id,所以把它改成一个类:

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中点击的链接

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

【讨论】:

  • 谢谢您,先生。这就是我一直在寻找的。我成功地能够提醒合作伙伴代码。现在,我只需要把它转到我的查询页面。谢谢。
【解决方案2】:

第一次回答我以外的人。

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

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

Idk,看看这是否有帮助。

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

【讨论】:

  • 好的,谢谢。我看到了我的错误并已更正。
  • 啊,没有看到您对上一个答案的评论。祝你好运!
猜你喜欢
  • 2014-08-11
  • 2012-06-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-19
  • 1970-01-01
相关资源
最近更新 更多