但是,虽然这适用于第一次调用包含表单的URL,但刷新页面会将defaultPrivacyValue的值设置为其中一个隐私复选框。我已经检查过服务器在脚本运行之前没有检查复选框(事实并非如此)。我还检查了脚本中的其他地方是否正在检查复选框(它不是)。
var defaultPrivacyValue = firstMenuItemKey;
$('input[name=privacy]:checked').each(function() {
defaultPrivacyValue = $(this).next().find('.name').text();
});
selectMenuItem(defaultPrivacyValue);
当我将选择器变为“输入[name = privacy] [checked = checked]”时,它按预期工作。这是基于':checked'选择器的DOM检索的jQuery实现中的缺陷????我正在使用jQuery 1.4.2。
感谢您提供任何帮助。
答案 0 :(得分:0)
在刷新页面上,Firefox会保留表单字段的值,包括复选框的选中状态。这可能是导致问题的原因:Firefox正在检查复选框的已检查状态,而不是单独的脚本。
我认为Webkit没有这种行为,我不确定IE。因此,测试此假设的一种方法是在Safari或Chrome中检查您的页面。
然而,我不确定为什么[checked = checked]选择器的工作方式不同。