Что в этом случае не работает при значении флажка = '1'?
Я читал в stackoverflow о флажках и устанавливал для них значение 1, чтобы они были проверены, но, похоже, в моем случае это не работает. У меня есть выражение eval модуля данных, которое оценивается как 1, когда мой флажок должен быть отмечен, и я проверил, что на сгенерированной странице есть хотя бы один флажок ввода со значением = 1, который не отображается как отмеченный.
Что мне не хватает? Я попытался просто установить свойство checked, но даже checked = '' считается как отмеченный, поэтому я не видел, чтобы это работало как для отмеченных, так и для снятых флажков.
Вот HTML, который, похоже, не работает.
<input type='checkbox' class="datacell" id='603'
style='text-align: center' value='1' />
Вот данные, которые я установил в своем репитере для основных входных элементов.
<input type='<%# Eval("InputType") %>' class="datacell"
id='<%# Eval("CellID") %>' style='<%# Eval("InputAlign") %>'
value='<%# Eval("TestResult") %>' />
В других случаях просто убедитесь, что правильные ячейки являются флажками, и что выравнивание ячеек работает определенным образом (флажки выровнены по центру, числовые элементы выровнены по правому краю, а другие элементы выровнены по левому краю).
Изменить: Итак, как это сделать с помощью выражения привязки данных, это моя дилемма.
Ответов (7)7
Согласно спецификации W3C :
Флажки (и переключатели) - это переключатели включения / выключения, которые может переключать пользователь. Переключатель находится в положении «включено», когда установлен атрибут checked элемента управления.
Таким образом, установка любого значения для атрибута checkbox будет проверять флажок.
- checked = "проверено"
- проверено = "ложь"
- проверено = "верно
- проверил
все будут отмечать флажок как отмеченный. Вам нужно полностью удалить атрибут, чтобы снять флажок.
Итак, возможное решение для вас:
<input type='<%# Eval("InputType") %>' class="datacell"
id='<%# Eval("CellID") %>' style='<%# Eval("InputAlign") %>'
<%# isChecked((int)Eval("TestResult")) %> />
Код программной части
protected string isChecked(int testResult) {
if (testResult == 1) {
return "checked='checked'";
} else {
return "";
}
}
Правильный способ установить флажок как отмеченный:
<input type="checkbox" class="datacell" id="603"
style="text-align: center" checked="checked" />
и правильный способ визуализации снятого флажка (обратите внимание, что отсутствует весь checked
атрибут):
<input type="checkbox" class="datacell" id="603"
style="text-align: center"/>
Флажки устанавливаются с помощью checked="checked"
атрибута
Пример:
<p>Please select every sport that you play.</p>
Soccer: <input type="checkbox" checked="checked"
name="sports" value="soccer" />
<br />
Football: <input type="checkbox"
name="sports" value="football" />
<br />
Baseball: <input type="checkbox"
name="sports" value="baseball" />
<br />
Basketball: <input type="checkbox" checked="checked"
name="sports" value="basketball" />
</p>