将变量从while循环传递到jquery

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

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

我的问题

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

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

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

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

手风琴Jquery代码

$(document).ready(function() { $('div.listing> div').hide(); $('div.listing> h4').click(function() { $.post("/record.php", { 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'); } }); }); 

任何想法最受欢迎。

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

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

 

Some title

和你的JavaScript:

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

当你在html中创建h4元素时,添加一个html5数据属性就像

 

Company Name

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

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