2017-05-30 110 views
0

我想追加與複選框的表,但檢查屬性需要追加複選框是基於另一個屬性:有條件checked屬性

$.each(result.scenarios, function (i, scenario) { 
    table.append('<tr><td><label class="checkbox-inline"><input type="checkbox" value="' + scenario.Id + '" checked="' + scenario.Shared == true ? 'checked' : '' + '">' + scenario.Name + '</label><br></td></tr>'); 
}); 
+0

可以添加結果的樣品 – guradio

回答

1

選中的屬性是一個布爾屬性,這樣你就可以通過使用此代碼添加屬性:(scenario.Shared ? 'checked' : '')

$.each(result.scenarios, function (i, scenario) { 
    table.append('<tr><td><label class="checkbox-inline"><input type="checkbox" value="' + scenario.Id + '" ' + (scenario.Shared ? 'checked' : '') + '>' + scenario.Name + '</label><br></td></tr>'); 
}); 
+0

請注意,您不需要指定任何價值的檢查屬性。我的代碼和你的主要區別在於我沒有爲checked屬性設置任何值。 – frosdqy

0

你設置checked屬性的值。您需要將該屬性(無值)或不。

此:

checked="' + scenario.Shared == true ? 'checked' : '' 

會導致檢查所有複選框。這是因爲checked屬性在那裏。屬性的值並不重要。只要呈現在HTML中,它就會被檢查。

應該是:

scenario.Shared ? 'checked' : '' 

沒有必要把它分配給該屬性。

這裏有一個筆:https://codepen.io/anon/pen/LyKbqm