2

我正在创建一个显示用户帐户详细信息的表格。在此表中,我正在管理用户的帐户。现在我希望在 TD 中使用 accountStatus 类显示更新后的 accountStatus 值。

foreach ($result_val->result() as $row) {
        $accountStatus = array('data' =>$row->accountStatus,'class' => 'accountStatus');
        $this->table->add_row($row->username,$row->email,$accountStatus,(($row->accountStatus == 'deleted')? " " :"<input  type=\"button\" id=".$row->userID." class=\"btn btn-warning btn-small block\" value=\"Block\"> <input type=\"button\" id=".$row->userID." class=\"btn btn-success btn-small activate\" value=\"Activate\"> <input type=\"button\" id=".$row->userID." class=\"btn btn-danger btn-small delete\" value=\"Delete\">"));
    }

当单击最后一个表列中的任何按钮时,用户 ID 和新的 accountStatus 值将使用以下方式发送到控制器

function manage_user_account(userID,value){
    $.post(url,{
        userID : userID,
        value : value
    },
    function(response){
        if(response.status == 1000){
            alert(response.accountStatus);
            $(this).closest('tr').find('.accountStatus').html(response.accountStatus);


            $("#headMsg").text('Account status has been successfully updated');
            $("#headMsg").show();
        }
        else if(response.status == 1300){
            $("#headMsg").text('Account status updation failed ! Try Again.');
            $("#headMsg").show();
        }
        else if(response.status == 1200){
            $("#headMsg").text('Web server error ! Try Again.');
            $("#headMsg").show();
        }
    },'json');
}

但是该值不会同时更新,它是在重新加载页面后显示的。请帮我解决一下这个。

4

1 回答 1

0

this可能是指全局窗口对象。event.target从点击处理程序传递到您的函数:

$(foo).click(function(event) {
    ...
    manage_user_account(id,val,event.target);
}


function manage_user_account(userID,value,button){
...
    $(button).closest('tr').find('.accountStatus').html(response.accountStatus);
于 2012-09-22T15:38:38.957 回答