我有两个下拉列表,第一个列出了 [--All--, Group1, Group2, Group3, etc] 之类的值,第二个最初应该默认列出所有值。如果我们从第二个中选择第 1 组,则应该只列出那些相关的值。我们如何在 Jquery 和 html 中实现这一点。这里没有数据库。
问问题
2518 次
1 回答
1
您可以尝试这样的事情(使用data-
)
HTML:
<select id="groups">
<option value='--All--'>--All--</option>
<option value='Group1'>Group1</option>
<option value='Group2'>Group2</option>
<option value='Group3'>Group3</option>
</select>
<select id="sub_groups">
<option data-group='all' value='0'>--Select--</option>
<option data-group='Group1' value='one'>one</option>
<option data-group='Group1' value='two'>two</option>
<option data-group='Group2' value='three'>three</option>
<option data-group='Group2' value='four'>four</option>
<option data-group='Group3' value='five'>five</option>
<option data-group='Group3' value='Six'>six</option>
<select>
JS:
$('#groups').on('change', function(){
var val = $(this).val();
var sub = $('#sub_groups');
if(val == '--All--') {
$('#sub_groups').find('option').show();
}
else {
sub.find('option').not(':first').hide();
$('option', sub).filter(function(){
if($(this).attr('data-group') == val){
$(this).show();
}
});
}
sub.val(0);
});
于 2013-09-25T05:40:20.953 回答