如果更改下拉菜单并刷新页面,则Firefox似乎会忽略所选属性。
<option selected="selected" value="Test">Test</option>
实际上,它将选择您先前选择的选项(刷新之前)。对于我来说,这最终成为一个问题,因为下拉菜单中触发了一个事件,该事件改变了其他情况。有没有办法使Firefox停止此行为(除了在页面加载时触发另一个事件)?
如果更改下拉菜单并刷新页面,则Firefox似乎会忽略所选属性。
<option selected="selected" value="Test">Test</option>
实际上,它将选择您先前选择的选项(刷新之前)。对于我来说,这最终成为一个问题,因为下拉菜单中触发了一个事件,该事件改变了其他情况。有没有办法使Firefox停止此行为(除了在页面加载时触发另一个事件)?
Answers:
AFAIK,此行为被硬编码到Firefox中。
您可以尝试将每个表单元素设置为其defaultValue
页面加载。
$(":input").val(this[0].defaultValue);
(unested ); 在普通的JS中,每条路document.getElementsByTagname("select")
将autocomplete="off"
HTML属性添加到每个选择标签。(来源:https : //stackoverflow.com/a/8258154/260080)
这修复了FireFox中的ODD行为。
在firefox中,我注意到,除非将select放置在具有name属性的表单内,否则“ selected”属性将不起作用。
刚刚遇到了同样的问题,相信我,这个愚蠢的Firefox行为已经挣扎了10多个小时,我有7个下拉菜单,每个下拉菜单都会触发一个事件并填写24个隐藏的输入,因此您可以想象选择正确的选项24个错误的输入值!!!我最终找到的解决方案是使用添加以下代码行的Javascript重置表单:
window.onload = function() { document.forms['MarkerForm'].reset(); };
PS:输入的值是从数据库中提取的,因此重置表单不会清空任何值,但会以某种方式告诉Firefox将地狱退回到selected = selected选项!
只是Firefox在刷新时会记住您先前的选择。尝试硬刷新。
另外,这里同样的问题:https : //stackoverflow.com/a/1505693/1069232
另请参阅此处:https : //bugzilla.mozilla.org/show_bug.cgi?id=274795
尝试禁用autocomplete
选择输入的属性...有时浏览器会select
因此忽略
我正在使用FF 25.0.1
它忽略selected=""
和selected="selected"
。
但是,如果我只是尝试selected
选择该选项。
奇怪(不符合规定)的行为。我知道selected
是有效的HTML5,它是最短的格式,但是我通常会编写也可以验证格式正确的XML的代码,以便可以使用任何XML验证工具以非常严格的方式检查结果(并且数据交换非常容易。) )
根据W3C,这些变体应在布尔属性上有效:
HTML5: boolAttr="" | boolAttr="boolAttr" | boolAttr
XHTML5: boolAttr="" | boolAttr="boolAttr"
我更喜欢第一个,因为它几乎和最后一个(不符合xml的)变体一样短,但应该同时作为XHTML5和HTML5进行验证。因此,我希望Mozilla能够解决该问题!
使用.prop()而不是.attr()
This does not work in firefox.
$( 'option[value="myVal"]' ).attr( 'selected', 'selected' );
use this one
$( 'option[value="myVal"]' ).prop( 'selected', 'selected' );
In other way
$( this ).prop( 'selected', 'selected' );
.prop('selected', true);
或.prop('selected', false);
(jQuery)启用/禁用Firefox和Chrome浏览器。
在工作中,我只是修复了一个错误:在同一网页上,选择框选项在Chrome中正确显示,但在Firefox中不能正确显示。事实证明,它与上述问题完全不同,但可能是您遇到的问题。
在Chrome中,选择框的字体颜色为黑色。出于某些原因,在Firefox中,选择框从容器继承了字体颜色,即白色。一旦添加了CSS规则以强制将选择框的字体颜色设置为黑色,就可以正确显示该值集。
既不autocomplete="off"
将其放置在form
我作品中,。
什么工作是只使用选择的属性没有“价值”是这样的:
<option @(Model.Source == TermSource.Instagram ? "selected" : "")>
Instagram
</option>
<option @(Model.Source == TermSource.Facebook ? "selected" : "")>
Facebook
</option>
所以要么渲染<option selected>...</option>
,要么<option>...</option>
$('option:selected').each(function(){ $(this).prop('selected',true); });