什么不复选框值='1'在这种情况下工作?
我一直在阅读有关复选框的stackoverflow并将它们的值设置为1以使它们被选中,但它似乎不适用于我的情况。我有一个数据库eval表达式,当我的checkbox应该被检查时,它的计算结果为1,并且我验证了生成的页面至少有一个输入复选框,value = 1不会显示为checked。什么不复选框值='1'在这种情况下工作?
我错过了什么?我试着设置checked属性,但即使checked =''也被选中,所以我无法看到为checked和unchecked复选框做了这项工作。
下面是似乎不工作的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") %>' />
其他evals只需确保正确的细胞复选框的databinders,而细胞的排列工作的某些方式(复选框对齐中心,数字东西对齐右边和其他东西对齐左边)。
编辑:那么如何用Databinding Expression做到这一点,那是我的两难境地。
Checkboxes (and radio buttons) are on/off switches that may be toggled by the user. A switch is "on" when the control element's checked attribute is set.
所以设置的复选框属性将选中复选框的任何值。
- 检查= “检查”
- 检查= “假”
- 检查=“真
- 检查
将所有标记为选中的复选框。您需要删除该属性完全清除复选框。
所以,你可能的解决办法是:
<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"/>
这很简单:
<input type="checkbox" value="whatever" checked> Create a checked box
<input type="checkbox" value="whatever"> Creates an unchecked box
复选框使用checked="checked"
a ttribute
例子:
<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>
你应该使用检查= “检查” 复选框的属性,以使其作为托运。值属性是在表单被引用时选中复选框的情况下将提交给服务器的值。
你没有给该复选框的名称属性!
这里就是我所做的:
这是不正确。 checked =“checked”是正确的方法。 由于浏览器比较自由地处理html,“yes”会起作用。你实际上可以使用任何值进行检查,大多数浏览器都会接受它,但它不正确 – 2009-02-27 13:57:24
@Neil:W3C规范声明它被视为开/关,因此任何值都可以工作(或根本没有任何值) 。不要责怪浏览器。 – TheTXI 2009-02-27 14:14:10