📅  最后修改于: 2023-12-03 15:08:21.962000             🧑  作者: Mango
在前端开发中,我们经常需要在下拉列表中选择或取消选择多个选项。使用 jQuery 可以轻松地实现这个功能。
给下拉列表加上 multiple
属性,使其具有多选的功能。
<select multiple>
<option value="option1">选项 1</option>
<option value="option2">选项 2</option>
<option value="option3">选项 3</option>
</select>
使用 jQuery 监听下拉列表的 change
事件,并获取被选中的选项。
$('select').change(function() {
var selectedOptions = $(this).find(':selected');
});
使用 each
方法遍历被选中的选项,获取其值或文本内容。
var selectedOptions = $(this).find(':selected');
selectedOptions.each(function() {
var value = $(this).val();
var text = $(this).text();
});
获得所有选项的方法与上述类似。
var allOptions = $(this).find('option');
allOptions.each(function() {
var value = $(this).val();
var text = $(this).text();
});
取消选择选项,可以使用 prop
方法将 selected
属性设置为 false
。
var deselectedOption = $('option[value="option1"]');
deselectedOption.prop('selected', false);
<!DOCTYPE html>
<html>
<head>
<title>下拉列表多选示例</title>
</head>
<body>
<select multiple>
<option value="option1">选项 1</option>
<option value="option2">选项 2</option>
<option value="option3">选项 3</option>
</select>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script>
$('select').change(function() {
var selectedOptions = $(this).find(':selected');
selectedOptions.each(function() {
var value = $(this).val();
var text = $(this).text();
console.log('选中的选项:', value, text);
});
var allOptions = $(this).find('option');
allOptions.each(function() {
var value = $(this).val();
var text = $(this).text();
console.log('所有选项:', value, text);
});
var deselectedOption = $('option[value="option1"]');
deselectedOption.prop('selected', false);
});
</script>
</body>
</html>
使用 jQuery 实现下拉列表多选功能非常简单,只需要添加 multiple
属性,并监听 change
事件即可。在事件处理函数中,获取被选中的选项和所有选项的方法也很容易。取消选择选项可以使用 prop
方法将 selected
属性设置为 false
。