0

我在 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 的跨度在警报按钮存在时更改,但在单击确定按钮后,跨度值将显示回原始值。

示例:当警报仍然存在时,ADMIN 值更改为 REGULAR,但单击确定按钮后,它返回到 ADMIN。

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

4

1 回答 1

0

我猜在按“确定”后,您的表格会执行“POST”或刷新。这意味着 php 页面关闭以再次检索数据。

如果是这种情况,那么您没有正确保存 ajax 发布事件之后的值。

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

于 2013-05-21T11:55:18.157 回答