2015-04-03 29 views
1

当用户在选择框内点击OPTGROUP时,我想选择OPTGROUP的所有子元素。但由于某种原因,我的代码无法正常工作。 OPTGROUP上的点击事件不会触发。点击OPTGROUP后选择所有子元素

由于它是多选元素,我使用Bootstrap Multiselect plugin

这里是我的代码:

$("optgroup.opt_group").select(function(e) { 
    $(this).children().attr('selected', 'selected'); 
}); 

<select id="example19" multiple="multiple"> 
    <optgroup label="Mathematics" class="opt_group"> 
     <option value="analysis"> Analysis</option> 
     <option value="algebra">Linear Algebra</option> 
     <option value="discrete"> Discrete Mathematics</option> 
     <option value="numerical">Numerical Analysis</option> 
     <option value="probability"> Probability Theory </option> 
    </optgroup> 
    <optgroup label="Computer Science" class="opt_group"> 
     <option value="programming"> Introduction to Programming</option> 
     <option value="automata">Automata Theory</option> 
     <option value="complexity"> Complexity Theory</option> 
     <option value="software">Software Engineering</option> 
    </optgroup> 
</select> 
+0

这个问题可能脱落一些光:http://stackoverflow.com/questions/9892247/selectable-optgroup-in-html-select-tag – bloodyKnuckles 2015-04-03 12:54:53

+0

尝试使用$(e.currentTarget).children()...而不是$(this).childr恩()...? – 2015-04-03 12:56:17

回答

1

那是因为你没有使用点击事件试试这个:

$("optgroup.opt_group").click(function(e) { 

     $(this).children().attr('selected','selected'); 
    }); 
相关问题