我在php文件中有一个表:
<table>
for($x=0;$x<$total;$x++) {
<tr>
<td><span id="utype-<?=$array[$x]['unique_id']?>">ADMIN</span></td>
<td><a href="javascript:void(0)" id="changeType" class="<?=$array[$x]['unique_id']?>">Change User Type<a/></td>
</tr>
}
</table>
js:
$(document).ready(function(){
var curID;
$('#changeType').live('click', function(){
curID = $(this).attr('class');
$.ajax({
type:'post',
url:'actions.php?mc=utype',
data: {
did:curID
},
success:function(msg) {
var json = $.parseJSON(msg);
$('#utype-'+curID).empty().append(json.newType);
alert('Account changed!');
},
error:function (xhr, ajaxOptions, thrownError){
alert('xhr status: '+xhr.status + '\n Error:'+ thrownError);
}
});
});
});
问题:
当警报按钮在那里时,id utype的范围会发生变化,但点击OK按钮后,范围值将显示原始值。
实施例: 当警报仍然存在时,ADMIN值将更改为REGULAR,但在单击“确定”按钮后,它将返回到ADMIN。
问题: 我想问一下为什么它会回到原始价值以及如何修复它。谢谢......
答案 0 :(得分:0)
我猜测按“ok”后,你的表会进行“POST”或刷新。这意味着php页面会再次检索数据。
如果是这种情况,那么你没有在ajax post事件之后正确保存该值。
查看保存请求并确保$ [array]中的数据已更改。