2017-06-01 101 views
0

我使用的DataTable的jQuery插件,以显示我的应用程序的一些数据...设置复选框值

我有此列定义:在阵列

columns: [ 
    { "data" : "appName" }, 
    { "data" : "uuid" }, 
    { 
    "data" : "Enabled", 
    'render': function(data, type, row) 
    { 
    console.log(data) 
    return '<input type="checkbox" checked = "' + data + '" >'; 
    } 
    } 

和coresponding领域从jquery传入的对象。 console.log(data)返回适当的值,对于表中的每个记录都为false,但复选框始终被检查。

我在做什么错在这里?

回答

2

return '<input type="checkbox" checked = "' + data + '" >';

在此行中要添加的属性checked因此它总是被检查:

return '<input type="checkbox"' + (data ? ' checked="checked"' : '') + '>';

(注意,checked值并不需要是"checked"甚至存在,该属性是唯一需要存在的东西,但通常优选使用一些有意义的值。)

编辑:

随着数据似乎是一个字符串,而不是一个布尔值,你需要的数据比较"true"

return '<input type="checkbox"' + (data == "true" ? ' checked="checked"' : '') + '>';

+0

不工作。我在“数据”中总是有真或假...所以它总是返回检查... –

+1

你有真或假,或者你有代表它们的字符串吗? –