如果特定选择选项隐藏复选框,则显示复选框

时间:2013-05-28 12:26:48

标签: jquery forms select hide options

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

到目前为止,这是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;}

2 个答案:

答案 0 :(得分:1)

如果您需要隐藏该复选框,如果选择Tenancy组的任何选项,您必须这样做:

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

检查Demo Fiddle

答案 1 :(得分:0)

$('.QuickSearchProperties').on('change', function(){
    if(['ALLTEN', 'ALLTENUK', 'ALLTENOVERSEAS'].indexOf($(this).val()) > -1){
        $('.ExcTen').addClass('hide');
    }else{
        $('.ExcTen').removeClass('hide');
    }
});