【发布时间】: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