1

我有一个网页,列出了 MYSQL 数据库中的许多公司,列表中只显示了公司的名称。当用户单击公司名称时,jquery 手风琴滑块会显示有关该公司的其余信息。

单击公司名称时,它还会向 php 脚本发送请求,以记录某人查看了该公司的详细信息。

我的问题

我想将每条记录的 ID 发送到 php 脚本。

我通过在读取 mysql 查询输出的 while 循环中包含手风琴 jquery 代码来实现这一点,但它会生成许多不必要的源代码(即针对每个列出的公司)。

我需要在 while 语句之外包含 jquery 手风琴代码。

当它在while循环之外时,如何将每个数据库记录的ID(即公司名称)传递给jquery代码中的$ .post?

手风琴 Jquery 代码

$(document).ready(function() {    $('div.listing> div').hide();     $('div.listing> h4').click(function() {


 $.post("/record.php", { id: "<?php echo $LM_row02[id]; ?>" } ) 

    var $nextDiv = $(this).next();
    var $visibleSiblings = $nextDiv.siblings('div:visible');

    if ($visibleSiblings.length ) {
      $visibleSiblings.slideUp('fast', function() {
        $nextDiv.slideToggle('fast');
      });
    } else {
       $nextDiv.slideToggle('fast');
    }   }); });

任何想法都非常受欢迎。

4

2 回答 2

1

当您创建 HTML 时(我假设您也在循环中执行此操作),向元素添加一个data-*带有 ID 作为值的属性,并在单击该元素时使用 jQuery 读取该值。

例如,您生成的 HTML 将如下所示:

<h4 data-id="123">Some title</h4>

和你的 JavaScript:

$('div.listing > h4').click(function() {

    $.post("/record.php", { id: $(this).attr('data-id') }, function() {
        // ...
    }); 

});
于 2012-05-11T10:44:20.490 回答
1

当您在 html 中创建 h4 元素时,添加一个 html5 数据属性,例如

<h4 data-companyid="<?php echo $LM_row02[id]; ?>">Company Name</h4>

然后在你的ajax调用中使用那个companyid,比如

$.post("/record.php", { id: $(this).data('companyid') } );
于 2012-05-11T10:45:40.647 回答