我已按照 here 的指示进行操作 我已经完成了以下操作:
我已将 jquery.upvote.js、jquery.upvote.css 和 images 文件夹上传到 WordPress 主题文件夹,并照常注册这些文件。
我已将 jquery 版本设置为 2.0.2
将基本的div放入html中:
HTML
<div id="topic" class="upvote">
<a class="upvote"></a>
<span class="count">0</span>
<a class="downvote"></a>
<a class="star"></a>
</div>
- 并尝试启动插件:
JS
(function($){
$(document).ready(function(){
$('#topic').upvote();
var callback = function(data) {
$.ajax({
url: '/vote', //I don't have this url, idk if this needs to be changed to something else
type: 'post',
data: { up: data.upvoted, down: data.downvoted, star: data.starred }
});
};
});
})(jQuery);
它不起作用......我错过了什么?
最佳答案
相当古老的帖子,但这就是您如何将其与PHP
一起使用的方法。 。我不确定 WordPress,但这应该为您提供一个根据您的需求进行自定义的良好起点。
- 准备好 HTML 位 (
home.html
)
<html><head><title>Voting Machine</title> <link rel="stylesheet" type="text/css" href="vote/upvote.css"> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> <script type="text/javascript" src="event.js"></script> <script type="text/javascript" src="vote/upvote.js"></script> </head><body> <div id="topic-123" class="upvote"> <a class="upvote" title="This idea is helpful"></a> <span class="count">5</span> <a class="downvote"></a> <a class="star starred"></a> </div> <div id="message"></div> </body> </html>
我已经解释了event.js
下面
- 设置 PHP 文件在服务器端执行 (
insert.php
)
<?php $con = mysql_connect("localhost","root","password"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("ccy", $con); $code=$_POST['id']; $up=$_POST['up']; $down=$_POST['down']; $star=$_POST['star']; $query=mysql_query("INSERT INTO mytable(code,up,down,star) VALUES('$code','$up','$down','$star')"); if($query){ echo "Data for $name inserted successfully!"; } else{ echo "An error occurred!" . mysql_error(); } ?>
- 最后但并非最不重要的一点是,您需要从 DIV 中获取值并
将其传递到 MySQL(或任何其他数据库)。这是使用
Ajax post
完成的。所以在我的event.js
我有以下代码
$(document).ready(function(){ var callback = function(data) { $.ajax({ url: 'insert.php', type: 'post', data: { id: data.id, up: data.upvoted, down: data.downvoted, star: data.starred }, success: function(data) { $("#message").html(data); $("#message").hide(); $("#message").fadeIn(1500); } }); }; $('#topic-123').upvote({id: 123, callback: callback}); });
别忘了MySQL的表结构是这样的
CREATE TABLE `mytable` ( `id` int(11) NOT NULL AUTO_INCREMENT, `code` bigint(20) DEFAULT NULL, `up` varchar(45) DEFAULT NULL, `down` varchar(45) DEFAULT NULL, `star` varchar(45) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=129 DEFAULT CHARSET=utf8;
玩得开心!!!
关于jquery-plugins - 无法让 jquery upvote 工作(jquery 插件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19542015/