Javascript 通过js更改按钮的数据操作
我用ajax和php制作了一个like按钮。一切正常,但我想在单击按钮时更改“数据操作”。 因此,当我的数据库中出现类似内容时,我得到:Javascript 通过js更改按钮的数据操作,javascript,jquery,ajax,Javascript,Jquery,Ajax,我用ajax和php制作了一个like按钮。一切正常,但我想在单击按钮时更改“数据操作”。 因此,当我的数据库中出现类似内容时,我得到: <button id="btn" data-action="unlike" data-id="post-id">font awesome -> heart</button> <button id="btn" data-action="
<button id="btn" data-action="unlike" data-id="post-id">font awesome -> heart</button>
<button id="btn" data-action="like" data-id="post-id">font awesome -> heart-o</button>
有什么帮助或想法吗?干杯 添加类似于
$('#btn').attr(“数据操作”,“like”)
在您的分支语句中,根据它所在的分支将like
更改为like
而不是?您好,我可以尝试一下,但是每次单击按钮时,属性都会在第一次单击时发生更改,因此如果单击两次,则不会发生任何更改。ajax
调用是否每次都正确触发?您需要将该行放两次,一次放在if(action==“like”)
中,一次放在else if(action==“difference”)
中。还要检查服务器是否返回这两个字符串exactlyCool yep,正在工作。:)当然Javascript是完全正确的,但问题是由php后端造成的。所以我刚刚创建了两个函数:setLikeByUs($uname,$newsid,$action)和setUnlikeByUs($uname,$newsid,$action),但是因为我没有在结果是否存在时使用控件,所以代码在我的数据库中保存了太多的操作。所以我写下了一个条件,如果action等于like或nothing,那么我就用这个查询连接到我的db,并用json返回之前选择的action。希望这是清楚的,祝你有一个美好的一年添加类似于$('#btn').attr(“数据操作”,“like”)
在您的分支语句中,根据它所在的分支将like
更改为like
而不是?您好,我可以尝试一下,但是每次单击按钮时,属性都会在第一次单击时发生更改,因此如果单击两次,则不会发生任何更改。ajax
调用是否每次都正确触发?您需要将该行放两次,一次放在if(action==“like”)
中,一次放在else if(action==“difference”)
中。还要检查服务器是否返回这两个字符串exactlyCool yep,正在工作。:)当然Javascript是完全正确的,但问题是由php后端造成的。所以我刚刚创建了两个函数:setLikeByUs($uname,$newsid,$action)和setUnlikeByUs($uname,$newsid,$action),但是因为我没有在结果是否存在时使用控件,所以代码在我的数据库中保存了太多的操作。所以我写下了一个条件,如果action等于like或nothing,那么我就用这个查询连接到我的db,并用json返回之前选择的action。希望这是清楚的,祝你有一个美好的一年
$('[data-id]').on('click', function(){
var newsid = $(this).data('id');
var action = $(this).data('action');
var i;
buttonid = $(this).attr('data-id');
actionid = $(this).attr('data-action');
output = "";
function buttonHeart(){
$("[data-id='"+buttonid+"'").addClass("svEFan");
setTimeout(function(){
$("[data-id='"+buttonid+"'").removeClass("svEFan");
}, 1000);
}
$.ajax({
url: '/recipes/actions-recipe',
type: 'post',
data: {'action': action, 'newsid': newsid},
dataType: 'json',
success:function(data){
if(data.type == "error"){
output = "Error: "+data.text;
}else{
//like
if(action == "like"){
buttonHeart();
//I would like to change data-action from like to unlike
}else if(action == "unlike"){
buttonHeart();
//reverse
}
output = data.text;
}
//alert(output);
return false;
}
});
});