我有一个正在过滤的下拉列表(例如..(toggleOptionVisibility 在选项周围放置一个跨度,如果为真,跨度是可见的)):
case 'Actimel drank naturel':
$(eenheid + ' option[value="101"]').toggleOptionVisibility( true );
$(eenheid + ' option[value="102"]').toggleOptionVisibility( true );
$(eenheid + ' option[value="103"]').toggleOptionVisibility( true );
$(eenheid + ' option[value="116"]').toggleOptionVisibility( true );
break;
case 'Roosvicee multivit (siroop)':
$(eenheid + ' option[value="101"]').toggleOptionVisibility( true );
$(eenheid + ' option[value="102"]').toggleOptionVisibility( true );
$(eenheid + ' option[value="103"]').toggleOptionVisibility( true );
$(eenheid + ' option[value="104"]').toggleOptionVisibility( true );
$(eenheid + ' option[value="111"]').toggleOptionVisibility( true );
$(eenheid + ' option[value="116"]').toggleOptionVisibility( true );
break;
过滤有效,只是展示了一个关于我如何做的例子。
现在的问题是,无论我在提交表单时选择什么, selected="selected" 都是用户选择的(它在 IE 中工作),但下拉列表本身在 Firefox 中显示倒数第二个值和最后一个值在铬。
selected="selected" 仍然是用户输入的内容,即使在 Firefox 和 chrome 中也是如此。
这是我的问题,你们中有人知道为什么会这样吗,为什么它在 IE 中有效,而不是在 chrome/firefox 中有效?
因为大家都喜欢代码,所以我会多发一点。
$(eenheid + ' option').toggleOptionVisibility( false );
在被过滤之前隐藏所有选项以确保仅显示过滤的选项。