我试图附加一个带复选框的表,但是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 :(得分:1)
checked属性是布尔属性,因此您可以使用以下代码添加属性:(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>');
});
答案 1 :(得分:0)
您正在设置checked
属性的值。您需要放置属性(没有值)或不放置。
此:
checked="' + scenario.Shared == true ? 'checked' : ''
会导致选中所有复选框。这是因为checked
属性存在。属性的值无关紧要。只要在渲染时它在HTML中,就会被检查。
应该是:
scenario.Shared ? 'checked' : ''
无需将其分配给属性。