Итак, спецификация HTML говорит, что вы должны добавить атрибут checked
в тег <input type="checkbox">
, чтобы пометить его как отмеченный. Но у меня есть только значение boolean true
или false
.Как установить флажок с булевыми значениями
Как по дизайну, я не могу добавить логику к логическому значению, прежде чем он будет разобран на html :(. Можно ли установить флажок с логическим значением при загрузке только с помощью html или js? следующее, но onload
, кажется, не вызывают:
<input type="checkbox" onload="javascript:this.checked=true" />
Я знаю, что я могу сделать что-то вроде этого в JQuery:.
$("[checked='false']").prop('checked',false)
Я ищу элегантный способ решить эту проблему Это необходимо проанализировать все DOM-дерево и замедлить работу wn моя страница.
Edit (пытаясь объяснить):
В моей компании существует приложение, которое выполняет следующие действия по дизайну:
<input type="checkbox" checked="%IsValide%" >
Сервер не автоматически заменяет %IsValide%
вар с базой данных стоимость. Здесь true или false. Но тогда флажок всегда проверяется, даже если значение ложно. Я знаю, что это связано с дизайном html5: checked = "true" и checked = "false" будет отмечать флажок всегда, как отмечено.
Теперь я ищу решение использовать истинное или ложное значение от %IsValide%
, чтобы правильно установить флажок с помощью javascript (или даже лучше, с html.). Я могу использовать %IsValide%
в любом месте в теге html. Например:
<input type="checkbox" onload="javascript:this.checked=%IsValide%" />
Но я не может добавить логику, прежде чем получить разобран в HTML так:
if(%IsValide%) {
%IsValide%="checked";
}
else {
%IsValide%="";
}
Значок '' не работает для вас? – j08691
Это работает, но я не могу использовать его, потому что я получаю логическое значение из базы данных, и я не могу добавить логику (например, '(checkVar?" Checked ":" ")') раньше. –
Извините, но я все еще не понимаю, в чем проблема/вопрос. – j08691