我通过服务器端(PHP)和HTML文件(脚本中的脚本src = blabla ...,以及div id =“在...中评价...”。
功能“peticion”有效,但在触发功能之后,“喜欢”或“不喜欢”不起作用,我看不到html中的任何变化。
$(function(){
function like(){
var asinid = $('#rate').data('id');
var rHtml = '<a href="#" id="rate" data-id="('+asinid+')" data-action="dislike">No te gusta</a>';
$('#rated').html(rHtml);
}
function dislike(){
var asinid = $('#rate').data('id');
var rHtml = '<a href="#" id="rate" data-id="('+asinid+')" data-action="like">Te gusta</a>';
$('#rated').html(rHtml);
}
function peticion(e){
// Realizar la petición
var parametros = {
asinid: $('#rate').data('id')
};
if ($('#rate').data('action')=='like'){
var post = $.post("../../likes/addlike.php", parametros, like, 'json');
}
else if($('#rate').data('action')=='dislike'){
var post = $.post("../../likes/dellike.php", parametros, dislike, 'json');
}
}
$('#rate').click(peticion);
});
功能“peticion”有效,但在触发功能之后,“喜欢”或“不喜欢”功能不起作用,我在浏览器中看不到任何变化。
答案 0 :(得分:0)
获取脚本的数据值
$('#rate').attr('data-id');
使用attr方法在jquery
中获取任何用户的任何属性值答案 1 :(得分:0)
这是因为您的事件处理程序
$('#rate').click(peticion);
替换html代码后被破坏
$('#rated').html(rHtml);
尝试
$('#rate').live("click", peticion);
或在每个html()
之后重复click()绑定$('#rated').html(rHtml);
$('#rate').click(peticion);
答案 2 :(得分:0)
尝试更改它,因为您使用的是jquery 1.10:
var post = $.post("../../likes/addlike.php", parametros, 'json');
post.done(function( data ) {
like();
});
jQuery 1.5中引入的jqXHR.success(),jqXHR.error()和jqXHR.complete()回调方法自jQuery 1.8起不再使用。要准备最终删除的代码,请改用jqXHR.done(),jqXHR.fail()和jqXHR.always()。
另外,使用.on
作为动态添加的元素:
$(document).on('click', '#rate', function(){
peticion();
});