Dan*_*don 3 html asp.net radio-button
这似乎应该是死的简单,但我被困住了.我写了一些输出一对单选按钮的asp.net代码:
<p>
<label for='chkYapper'>Yapper</label>
<input type='radio' name='yapper' id='chkYapper' value='yapper' checked='<%=gblYapperChecked %>' />
<br />
<label for='chkNonYapper'>non-Yapper</label>
<input type='radio' name='Yapper' id='chkNonYapper' value='nonYapper' checked='<%=gblNonYapperChecked %>' />
Run Code Online (Sandbox Code Playgroud)
if (registrationUser.isYapper == 1)
{
gblYapperChecked = "checked";
gblNonYapperChecked = "";
}
else
{
gblYapperChecked = "";
gblNonYapperChecked = "checked";
}
Run Code Online (Sandbox Code Playgroud)
正如所料,我得到了两个单选按钮,"Yapper"和"Non-Yapper".但是,即使我通过我的代码并且看到gblYapperChecked被"检查"并且gblNonYapperChecked为"",默认情况下总是在Web浏览器中选择Non-Yapper.
我究竟做错了什么?
更新以下是实际显示在浏览器中的HTML代码.应该选择"Yapper",而是选择"Non-Yapper".
<p>
<label for='chkYapper'>Yapper</label>
<input type='radio' name='yapper' id='chkYapper' value='yapper' checked='checked' />
<br />
<label for='chkNonYapper'>non-Yapper</label>
<input type='radio' name='yapper' id='chkNonYapper' value='nonYapper' checked='' />
Run Code Online (Sandbox Code Playgroud)
请注意,HTML"已检查"属性通常由存在或不存在来确定.请参阅http://www.w3.org/TR/html401/interact/forms.html#adef-checked规格.
特别是这句话的意思是,如果你希望它是检查你中央社有checked,checked=true,checked=checked等.所以你想要的是,如果你不想选中复选框,根本就没有checked属性.
我会建议结构,如:
<input type='radio' name='Yapper' id='chkNonYapper' value='nonYapper' <%=registrationUser.isYapper?"":"checked='checked'" %> />
Run Code Online (Sandbox Code Playgroud)
这应该完全取决于你的isYapper布尔值来消除你的checked属性.
| 归档时间: |
|
| 查看次数: |
425 次 |
| 最近记录: |