首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >jQuery选定选项

jQuery选定选项
EN

Stack Overflow用户
提问于 2013-06-05 19:21:19
回答 2查看 160关注 0票数 0

我有一个正在过滤的下拉列表(例如..(toggleOptionVisibility在选项周围加上一个跨度,如果为真,跨度是可见的)):

代码语言:javascript
代码运行次数:0
运行
复制
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中有效),但下拉列表本身显示的是火狐中倒数第二的值和Chrome中的最后一个值。

即使在火狐和chrome中,“选定”的selected=仍然是用户输入的内容。

这是我的问题,你们谁知道为什么会发生这种情况,为什么它在IE中工作,而不是在chrome / firefox中?

因为每个人都喜欢代码,所以我会多发一点。

代码语言:javascript
代码运行次数:0
运行
复制
$(eenheid + ' option').toggleOptionVisibility( false );

在过滤前隐藏所有选项,以确保只显示过滤后的选项。

EN

回答 2

Stack Overflow用户

发布于 2013-06-05 21:38:45

有关<option><span>,请讨论:

代码语言:javascript
代码运行次数:0
运行
复制
interface HTMLSelectElement : HTMLElement {
    ...
    readonly attribute HTMLCollection selectedOptions;
    ...
};

为了获得最大的兼容性,selectedOptions必须是<option><optgroup>的列表。不是禁止使用<span>,而是在中使用自己的risk

请参阅http://www.w3.org/TR/html5/forms.html#the-select-element

票数 1
EN

Stack Overflow用户

发布于 2013-06-05 19:46:57

代码语言:javascript
代码运行次数:0
运行
复制
$('select option[value="..."]').toggleOptionVisibility(false);
$('select').val($('#select-test > option:first'));

要获取选定的值,请执行以下操作:

代码语言:javascript
代码运行次数:0
运行
复制
$('select option:selected').val()

示例: http://jsfiddle.net/d3FuV/5/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16938590

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档