【问题标题】:If specific select options hide checkbox else show checkbox如果特定选择选项隐藏复选框,否则显示复选框
【发布时间】:2013-05-23 10:12:24
【问题描述】:

我正在尝试检测是否选择了下拉表单字段中的特定组,以便我可以禁用复选框,但我无法确定选择整个组的最佳方法,所以如果将来该组扩展它仍将计数组内的所有内容。我已经为组内所有的人添加了租赁的 optgroup

到目前为止,这是JSFIDDLE。 这是我目前拥有的代码:

jQuery:

var thisVar = $('.QuickSearchProperties option:selected').val();

$('.QuickSearchProperties')on('change', function(){
    if(thisVar == 'ALLTEN', 'ALLTENUK', 'ALLTENOVERSEAS'){
       $('.ExcTen').addClass('hide');
    }else{
        $('.ExcTen').addClass('hide');
    }
});

HTML:

<form>
    <select name="QuickSearchProperties" class="QuickSearchProperties">
            <option value="a1" optGroup="Spain">Costa Del Sol</option>
            <option value="a2" optGroup="Spain">Almeria</option>
            <option value="a3" optGroup="Spain">Costa Blanca</option>
            <option value="a4" optGroup="Turkey">Turunc</option>
            <option value="a5" optGroup="Wales">Anglesey</option>
            <option value="a5" optGroup="Wales">Pembrokeshire</option>
            <option value="ALLTEN" optGroup="Tenancy">All Tenancy properties</option>
            <option value="ALLTENUK" optGroup="Tenancy">UK Tenancy properties</option>
            <option value="ALLTENOVERSEAS" optGroup="Tenancy">Overseas Tenancy properties</option>
    </select><br/><br/>

    <span class="ExcTen"><input type="checkbox" name="tenancy" value="1" />Exclude Tenancy </span>
</form>

CSS:

.hide{display:none;}

【问题讨论】:

    标签: jquery forms select hide options


    【解决方案1】:

    如果您需要在Tenancy 组的任何选项被选中时隐藏复选框,您必须这样做:

    $('.QuickSearchProperties').on('change', function(){
        if($(this).find("option:selected").attr("optGroup") == "Tenancy"){
            $('.ExcTen').addClass('hide');
        } else {
            $('.ExcTen').removeClass('hide');
        }
    });
    

    查看Demo Fiddle

    【讨论】:

    • 非常感谢,正是我所追求的,知道这将涉及 .attr()
    【解决方案2】:
    $('.QuickSearchProperties').on('change', function(){
        if(['ALLTEN', 'ALLTENUK', 'ALLTENOVERSEAS'].indexOf($(this).val()) > -1){
            $('.ExcTen').addClass('hide');
        }else{
            $('.ExcTen').removeClass('hide');
        }
    });
    

    【讨论】:

    • 感谢您的回复,这不是我想要的,如果您查看我更新的 jsfiddle (jsfiddle.net/huddds/JLGtU/2) 我添加了一个新选项,但它没有添加类到复选框,我想我需要检测任何已选择并包含 optgroup 租约的选项
    猜你喜欢
    • 1970-01-01
    • 2017-02-04
    • 1970-01-01
    • 2013-11-30
    • 1970-01-01
    • 1970-01-01
    • 2011-09-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多