0

ドロップダウン フォーム フィールドの特定のグループが選択されているかどうかを検出して、チェック ボックスを無効にできるようにしようとしていますが、グループ全体を選択する最善の方法を見つけることができないため、将来そのグループが展開される場合グループ内のすべてをカウントします。グループ内のすべてのものにテナンシーの 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;}
4

2 に答える 2

1

Tenancyグループのオプションが選択されている場合にチェックボックスを非表示にする必要がある場合は、次のようにする必要があります。

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

デモフィドルをチェック

于 2013-05-28T12:48:46.000 に答える