jQuery代码:
if($(this).attr('data-status') == 'Yes'){
alert('if');
$(this).attr("data-status","No");
}
else{
alert('else');
$(this).attr("data-status","Yes");
}
jQuery函数代码:
$(".Notification").click(function(){
var notification = {
petid: $(this).attr('data-value'),
status: $(this).attr('data-status')
}
var formurl = '<?php echo base_url();?>index.php/Dashboard/notification';
$.ajax({
method: "POST",
url: formurl,
data: notification,
success: function(response){
if($(this).attr('data-status') == 'Yes'){
alert('if');
$(this).attr("data-status","No");
}
else{
alert('else');
$(this).attr("data-status","Yes");
}
}
})
})
HTML代码:
<input type="checkbox" class="Notification" data-value="6" data-status="Yes" checked="">
我正在尝试更新数据状态的值,但它无法正常工作。它提醒我,否则。但没有更新价值。
答案 0 :(得分:1)
$(this)
不会在成功中引用您的元素,因此请在click事件的顶部定义$(this)
。
change
事件应该用于复选框(因为不需要click
来触发复选框更改事件)
$(".Notification").on("change", function() {
var ThisIt = $(this);
var notification = {
petid: ThisIt.attr('data-value'),
status: ThisIt.attr('data-status')
}
var formurl = '<?php echo base_url();?>index.php/Dashboard/notification';
$.ajax({
method: "POST",
url: formurl,
data: notification,
success: function(response){
if(ThisIt.attr('data-status') == 'Yes'){
alert('if');
ThisIt.attr("data-status","No");
}
else{
alert('else');
ThisIt.attr("data-status","Yes");
}
}
})
})
有关详细信息,请查看:https://stackoverflow.com/a/6394826/3385827