2017-05-30 75 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