根据服务器中的数据启用/禁用Html按钮

时间:2016-05-30 06:56:58

标签: javascript jquery html ajax datatables

我正在使用数据表Jquery并进行ajax调用以从服务器读取数据。 假设数据库有3个属性" Attribute1,Attribute2,Status"。 根据状态,应启用或禁用数据表上的第三列按钮。

function test(server_url,table_id){
.ajax({url: server_url,dataType:"html",success: function(result){
    var json_obj=JSON.parse(result);
    var Columns="<thead><tr>";
    var Fields=[],Tool_columns=[];
    UserGroupFields=json_obj.columns;
    for(i=0;i<json_obj.columns.length;i++){
        Columns+="<th>"+json_obj.columns[i]+"</th>";
        var field_dic={};
        var tool_dic={};
        field_dic["label"]=json_obj.columns[i];
        field_dic["name"]=json_obj.columns[i];
        Fields[i]=field_dic;
        Tool_columns[i]=tool_dic;
    }
    tool_dic["targets"]=-1;
    tool_dic["data"]="null";
    tool_dic["defaultContent"]="<button this.disabled=true'>Yes</button>";        
    myTable=('#'+table_id).DataTable({
            "order":[[0,"desc"]],
            aaData:json_obj.data,
            dom:  'T<"clear">lfrtip',
            columns:Tool_columns,
            tableTools: {
                sRowSelect: 'single',
                "sRowSelector": "td:not(:last-child)",
                "aButtons": [ {
                    "sExtends":    "editButton",
                    "sButtonText": "Edit",
                    "target":      "#"+table_id
                }]
            },
           "search": {
              "regex": true,
              "smart": false
            }
    });

通过上面的代码,我可以为从服务器读取的每一行添加一个按钮。那么我现在如何根据每条记录的第三个属性启用或禁用它#34;状态&#34;。

数据类型:

Object { columns: Array[3], data: Array[2] }

数据:

[{"column1":"1","Column2":"abc","Status":"Yes"},{"column1":"2","Column2":"xyz","Status":"No"}]

任何线索都会受到赞赏。 我是JQuery和JavaScripts的新手

由于

1 个答案:

答案 0 :(得分:1)

检查数据中的状态值,并相应地在aaData中设置按钮。

在代码中添加了一行:

field_dic [“button”] =(json_obj.columns [i] [“status”] ==“LIVE”)?“按钮文字”:“按钮文字”;

for(i=0;i<json_obj.columns.length;i++){
        Columns+="<th>"+json_obj.columns[i]+"</th>";
        var field_dic={};
        var tool_dic={};
        field_dic["label"]=json_obj.columns[i];
        field_dic["name"]=json_obj.columns[i];
        field_dic["button"]=(json_obj.columns[i]["status"]=="LIVE")?"<button disabled='disabled'>Button Text</button>":"<button>Button Text</button>";
        Fields[i]=field_dic;
        Tool_columns[i]=tool_dic;
    }

循环读取“状态”值并相应地设置值。

for(i=0;i<json_obj.data.length;i++){
    if(json_obj.data[i]["Status"]=="Yes"){
       json_obj.data[i]["Status"]="<button disabled='disabled'>Button Text</button>";
    }
    else{
        json_obj.data[i]["Status"]="<button>Button Text</button>";
    }
}