我创建了一个脚本,在点击星形记录时由ajax发送。和重新加载动作链接,重新加载love.raty。我希望在第二次点击星标后重新加载,而不是在运行链接上。有任何想法吗?谢谢!
<input id="reload-function-demo" type="text" value="true" disabled="disabled" />
<a id="reload-action" href="javascript:void(0);" title="reload" class="run">run</a>
<script type="text/javascript">
$(function() {
$('#love').raty({
//instructions//
click: function(score, evt) {
$(this).fadeOut(function() { $(this).fadeIn(); });
var book = $('#book_id').val();
var user = $('#user_id').val();
var token = $('#token').val();
var ip = $('#ip').val();
$.ajax({
type: 'POST',
url: 'http://www.booksface.pl/content/elements/love_book_db.php',
data: {'score':score, 'book_id': book, 'user_id': user, 'token': token, 'ip': ip},
success: function(name,value,exdays) {
}
});
}
});
$('#reload-action').on('click', function() {
$('#love').raty('click');
$('#love').raty('reload');
});
});
</script>
答案 0 :(得分:0)
您可以使用这样的自定义数据属性:
var love = $("#love");
$('#reload-action').on('click', function(){
if(typeof love.data("clicked") === "undefined" || !love.data("clicked")){
love.data("clicked", "true").raty('click');
}else{
love.data("clicked", "false").raty('reload');
}
});
您可能希望查看为什么要在第二次点击时重新加载,可能有更好的方法来实现您想要的效果。