2017-06-01 106 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

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