为什么在FF3中仍然选中复选框,但在IE,Chrome或

sir*_*cco 2 javascript asp.net checkbox jquery

所以 - 我有一个复选框

<asp:CheckBox ID="chkOrder" runat="server" Visible='<%#IsCheckBoxVisible() %>' 
     Checked="false"
     OnCheckedChanged="chkOrder_CheckedChanged" AutoPostBack="true" 
     EnableViewState="false"></asp:CheckBox>
Run Code Online (Sandbox Code Playgroud)

上面的一个.现在,复选框位于gridview和数据绑定中 - 对于gridview中的所有行,复选框设置为false.问题是第一个复选框仍然是真实的.

在IE中,问题不存在,Chrome也是如此.我的选择已经用完了.如果我使用的话

$("checkboxName").attr("checked"); // verified on jquery ready function.
Run Code Online (Sandbox Code Playgroud)

在FF中这是真的; IE错误; Chrome错误.

有小费吗?

编辑

现在为此做好准备:在生成的html中 - 没有检查属性.FF和IE之间的差异完全相同.

另一件事 - 包含复选框的网格上有一个ajax面板,当我打开网格时,尝试转到第2页 - 触发了代码隐藏中的checkedChanged.

Kar*_*arl 16

Firefox默认记住表单字段的状态.Ctrl+F5将强制Firefox清除此缓存.

您可以为单个表单和输入元素禁用此功能:

<form autocomplete="off"> 

<input ... autocomplete="off" /> 
Run Code Online (Sandbox Code Playgroud)


Jon*_*nan 6

你应该省略"选中"属性完全,如果你不想被检查的复选框做,因为检查由触发存在一个的checked属性,而不是它的价值:

复选框(和单选按钮)是可由用户切换的开/关开关.当设置了控制元素的checked属性时,开关处于"打开"状态.

http://www.w3.org/TR/html401/interact/forms.html#checkbox

对我来说,以下标记产生一个复选框,在IE,Firefox和Opera中检查,正如您所期望的那样基于规范:

<input type="checkbox" checked="false">
Run Code Online (Sandbox Code Playgroud)