一次启用一个选项组

时间:2014-01-24 02:46:11

标签: javascript jquery

<select name="campus">    
    <optgroup label="Northwest">
        <option value="1">Gary</option>
        <option value="2">Valparaiso</option>
        <option value="3">East Chicago</option>
    </optgroup>
    <optgroup label="North Central">
        <option value="4">South Bend</option>
        <option value="5">Elkhart</option>
        <option value="6">Warsaw</option>
    </optgroup>
</select>

我的下拉列表中有多个<optgroup> s。我正在使用multiselect插件。如何限制仅选择一个选项组选择?也就是说,当选择组中的一个选项时,应禁用其他组中的选项。

2 个答案:

答案 0 :(得分:1)

听起来你想要这样的东西。根据您的要求,如果禁用所有选项,您将如何从不同的选项组中进行选择?

$('select').on('change', function () {

    var selectedGroup = $('option:selected', this).parent();

    $('optgroup', this).not(selectedGroup).prop('disabled', true);
});

这是Fiddle

答案 1 :(得分:0)

请提供将作为事件处理程序element。没有它我们就无法进一步编码。

也就是说,确定某些项目是否被阻止的是什么?

根据您提供的信息而不知道您的处理程序...

http://jsfiddle.net/SinisterSystems/3rTkJ/2/

<强> HTML:

<select name="campus" id="selCampus">    
    <optgroup label="Northwest" id="northWest">
        <option value="1">Gary</option>
        <option value="2">Valparaiso</option>
        <option value="3">East Chicago</option>
    </optgroup>
    <optgroup label="North Central" id="northCentral">
        <option value="4">South Bend</option>
        <option value="5">Elkhart</option>
        <option value="6">Warsaw</option>
    </optgroup>
</select>

<强> JS:

$('#selCampus').on('click', function(){
    $('#northCentral').hide();
});