我一直在阅读关于复选框的stackoverflow并将它们的值设置为1以使它们被检查,但它似乎在我的情况下不起作用。我有一个databinder eval表达式,当我的复选框被擦除时,它的计算结果为1,并且我已经验证生成的页面至少有一个输入复选框,其值= 1,未显示为已选中。
我错过了什么?我尝试设置checked属性,但是甚至check =''计为已选中,因此无论如何我都看不到为已选中和未选中的复选框执行此操作。
这是似乎不起作用的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") %>' />
其他证据只是确保正确的单元格是复选框,并且单元格的对齐以某种方式工作(复选框对齐中心,数字对齐正确,其他东西对齐左。)
编辑:那么如何使用数据绑定表达式来实现这一点,这就是我的困境。
答案 0 :(得分:11)
将复选框设置为已选中的正确方法是:
<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"/>
答案 1 :(得分:9)
复选框(和单选按钮)是 可以切换的开/关开关 用户。当开关处于“开启”时 控制元素的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 "";
}
}
答案 2 :(得分:1)
这很简单:
<input type="checkbox" value="whatever" checked> Create a checked box
<input type="checkbox" value="whatever"> Creates an unchecked box
答案 3 :(得分:1)
您应该使用复选框的checked =“checked”属性将其呈现为已选中。 value属性是在提交表单时检查复选框时将提交给服务器的值。
答案 4 :(得分:0)
您没有给复选框指定名称属性!
答案 5 :(得分:-1)
这就是我的所作所为:
答案 6 :(得分:-2)
使用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>