首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果选择了所有多个选项,则显示div。

如果选择了所有多个选项,则显示div。
EN

Stack Overflow用户
提问于 2013-10-28 16:35:21
回答 4查看 961关注 0票数 0

如果选择了select选项,或者选择了某个select选项,那么我看到了很多关于如何显示div的问题和答案,但是我不知道如果多个选择被更改,如何显示div。

我有三个选择框,每个复选框都设置为默认值。我需要做的是,如果这三个已经改变,然后显示一个div。

代码语言:javascript
运行
复制
<select id="select1" class="select">
<option selected="selected" class="default_selected" disabled>Thing</option>
<option id="a" value="1">option one</option>
<option id="b" value="2">option two</option>
<option id="c" value="3">option three</option>
</select>

<select id="select2" class="select">
<option selected="selected" class="default_selected" disabled>Thing</option>
<option id="a" value="1">option one</option>
<option id="b" value="2">option two</option>
<option id="c" value="3">option three</option>
</select>

<select id="select3" class="select">
<option selected="selected" class="default_selected" disabled>Thing</option>
<option id="a" value="1">option one</option>
<option id="b" value="2">option two</option>
<option id="c" value="3">option three</option>
</select>

<div class="hidden">show if all three selects are changed to something.</div>

我试过:

代码语言:javascript
运行
复制
        $('.select').on('change',function(){
            if($('.select').find(":selected").attr('class')=='default_select'){
                alert('test');
            }
            else{
                $('.hidden').removeClass('hidden').show();  
            }
        }); 
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-10-28 16:47:53

您可以尝试使用addClasschange事件中添加一个类,然后检查它更改的元素数量与总数相同。

HTML:

代码语言:javascript
运行
复制
<select id="select1" class="selection">
    <option selected="selected" class="default_selected" disabled>Thing</option>
    <option id="a" value="1">option one</option>
    <option id="b" value="2">option two</option>
    <option id="c" value="3">option three</option>
</select>
<select id="select2" class="selection">
    <option selected="selected" class="default_selected" disabled>Thing</option>
    <option id="a" value="1">option one</option>
    <option id="b" value="2">option two</option>
    <option id="c" value="3">option three</option>
</select>
<select id="select3" class="selection">
    <option selected="selected" class="default_selected" disabled>Thing</option>
    <option id="a" value="1">option one</option>
    <option id="b" value="2">option two</option>
    <option id="c" value="3">option three</option>
</select>
<div class="hidden">show if all three selects are changed to something.</div>

jQuery:

代码语言:javascript
运行
复制
$(document).ready(function () {
    $(".selection").change(function () {
        $(this).addClass("changed");
        if ($(".selection").length === $(".changed").length) {
            $(".hidden").show();
        }
    });
});

演示:http://jsfiddle.net/IrvinDominin/tQu2b/

票数 4
EN

Stack Overflow用户

发布于 2013-10-28 16:44:11

演示

代码语言:javascript
运行
复制
$(document).ready(function () {
    $('.hidden').hide();
    $('select[id^="select"]').change(function () {
        var len = $('select[id^="select"] option:selected').filter(function () {
            return this.value != 'Thing';
        }).length;
        if(len == 3){
            $('.hidden').show();
        }
    });
});

驱回

属性以选择器开始。

.filter()

票数 1
EN

Stack Overflow用户

发布于 2013-10-28 16:42:39

也许这会帮到你

代码语言:javascript
运行
复制
$( ".default_selected" ).change(function() {
if( $('select[.default_selected]').text()!="Thing")
        {
        $("div[.hidden]").show();
        }
});    
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19640256

复制
相关文章

相似问题

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