class不通过jquery更新

时间:2014-01-11 15:05:49

标签: javascript jquery

$(document).ready(function() {
    var session = {};
    // Getting PHP session variables into javascript object in order to restric actions for certain users.
    $.getJSON('session.php',function(data){
       session = data;
       console.log(session.role); // currently showing 2.
    });
    // Display datagrid on page
    getRecords();
    // If not admin, disable certain actions
    if(session.role != 1){ // means it is 2
        $("#deletecustomer").attr('class','btn btn-danger disabled');
    }
    });

您好,

我试图根据用户角色禁用删除记录按钮。但我不知道为什么它没有更新我的按钮类,即使控制台显示角色= 2。

由于

1 个答案:

答案 0 :(得分:1)

由于AJAX是异步的,请在回调中使用它:

$(document).ready(function() {
    var session = {};
    // Getting PHP session variables into javascript object in order to restric actions for certain users.
    $.getJSON('session.php',function(data){
       session = data;
       console.log(session.role); // currently showing 2.
       // Display datagrid on page
       getRecords();
       // If not admin, disable certain actions
       if(session.role != 1){ // means it is 2
           $("#deletecustomer").attr('class','btn btn-danger disabled');
       }
    });

});

编辑:如果没有可能将thisinside放在相同的代码部分,你可以这样做:

var session = {};

var getSessionData = function(callback) {
    $.getJSON('session.php',function(data){
       session = data;
       console.log(session.role); // currently showing 2.
       // Display datagrid on page
       callback.call();
    });
}

var updateButton = function() {
    getRecords();
    // If not admin, disable certain actions
    if(session.role != 1){ // means it is 2
        $("#deletecustomer").attr('class','btn btn-danger disabled');
    }
}

getSessionData(updateButton);