jquery - live - ajax - 成功问题

时间:2012-05-26 10:36:26

标签: jquery

我在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。

问题:    我想问一下为什么它会回到原始价值以及如何修复它。谢谢......

1 个答案:

答案 0 :(得分:0)

我猜测按“ok”后,你的表会进行“POST”或刷新。这意味着php页面会再次检索数据。

如果是这种情况,那么你没有在ajax post事件之后正确保存该值。

查看保存请求并确保$ [array]中的数据已更改。