我正在开发一个小的 wordpress 插件“评价我的任何东西”。该插件在单个帖子上运行良好,但在博客页面上,当有多个帖子时,插件无法查看点击是从哪个帖子 ID 完成的。它始终采用页面的第一个帖子值。
我已将 post id 添加到 id 和类名以解决问题(例如:post_id$post->ID),但现在我被阻止以这种方式编辑 jquery 文件。
投票后项目的 php 代码:
<input type=\"hidden\" id=\"post_id$post->ID\" value=\"" . $post->ID . "\" />
<div class=\"vote\">
<table>
<tr><td>
<a class=\"vote_up\" href=\"#\"></a></td>
<td>
<a class=\"vote_down\" href=\"#\"></a></td></tr>
<tr>
<td class=\"up_perc$post->ID\">" . get_percentage(1, $post->ID ) ."%</td>
<td class=\"down_perc$post->ID\">" . get_percentage(2, $post->ID) . "% </td>
</tr>
</table></div>
<div class=\"vote_succ$post->ID\"></div>
jquery 代码(赞成票,反对票是一样的):
jQuery(document).ready(function($) {
$(".vote_up").click(function(e) {
e.preventDefault();
$.post('/wp-content/plugins/rate-my-whatever/rate.php', {vote_type: "1", post_id: $("#post_id1").val()}, function(data) {
$(".vote_succ1").html(data);
$.post('/wp-content/plugins/rate-my-whatever/rate.php', {action: "getPercentage", vote_type: "1", post_id: $("#post_id1").val()}, function(data2) {
$(".up_perc1").html(data2);
});
$.post('/wp-content/plugins/rate-my-whatever/rate.php', {action: "getPercentage", vote_type: "2", post_id: $("#post_id1").val()}, function(data3) {
$(".down_perc1").html(data3);
});
});
});
我在一些 id 和 class 元素之后静态放置了“1”以检查我的问题将如何解决,它适用于 id 和 value 为“1”的 Post 1,现在我需要替换 # 末尾的“1” post_id、.vote_succ、.up_perc、.down_perc 通过动态代码使其与 php 代码生成的动态元素一起工作。
谢谢你的帮助。