我正在使用DataTable jquery插件在我的应用程序中显示一些数据......
我有这个列定义:
columns: [
{ "data" : "appName" },
{ "data" : "uuid" },
{
"data" : "Enabled",
'render': function(data, type, row)
{
console.log(data)
return '<input type="checkbox" checked = "' + data + '" >';
}
}
和从jquery传递的对象数组中的相应字段。 <{1}}为表中的每条记录返回正确的值,true为false,但始终选中复选框。
我在这里做错了什么?
答案 0 :(得分:3)
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"' : '') + '>';