JavaScript实现Select下拉框全选与取消全选功能

作者:流萤时间:2026-10-27 06:44:09浏览:458

本文介绍了在Web开发中实现Select下拉框多选全选与取消全选的两种常见方法。第一种基于jQuery库,通过遍历子元素并设置selected属性实现;第二种为原生JavaScript实现,利用DOM API直接操作option对象的selected状态。文章提供了完整的HTML与JS代码示例,适用于需要批量选择选项的场景。

jQuery实现Select全选逻辑

具体实现代码如下所示:

$("select").change(function(){
var n = $(this).children().length;
var obj;
var i = 1;
$(this).children().each(function(){
if(i == n)
     {
alert($(this).text());
     }
i++;
    });
   });

jQuery简化版全选代码

结合上述两种方法,我整理出了最终想要的效果,具体实现如下:


相关代码如下:

function selectall()
{
$("select").children().each(function(){$(this).attr("selected","selected")})
}

此处主要运用了children()方法遍历子节点,以及通过$(this).attr("selected","selected")设置选中状态。


原生JavaScript实现Select全选

以下是一个基础的JavaScript用法示例:


完整HTML结构代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<script type="text/javascript">
<!--
function selectAll()
{
var opts=document.getElementById("CourseList");
for(var i=0;i<opts.length;i++)
 {
opts[i].selected=true;
 }
}
//-->
</script>
</head>
<body>
<select id="CourseList" name="CourseList" multiple="multiple" size="20" style="width:230px;">
<option value="003" >(003) 消费者行为与销售心理</option>
<option value="004" >(004) 产品策划与市场推广</option>
<option value="005" >(005) 品牌定位与广告原理</option>
</select>
<input type="button" onclick="selectAll()" value="全选">
</form>
</body>
</html>
作者最新文章