知识点:使用JavaScript实现ListBox功能 在网页开发中,ListBox(列表框)是一种常见的用户界面元素,用于展示多项选择或单选列表。通过JavaScript,我们可以增强ListBox的功能,例如动态添加、删除选项,以及处理用户的选择。以下是从给定的代码片段中提炼出的关键知识点: ### 1. 使用`getElementById`获取DOM元素 在JavaScript中,我们可以通过`document.getElementById`方法来获取具有特定ID的DOM元素。例如,在给定的代码中,`window.document.getElementById("listSrc")`和`window.document.getElementById("listDes")`分别获取了ID为“listSrc”和“listDes”的`<select>`元素。 ### 2. 遍历和操作`<select>`元素的选项 `<select>`元素的`options`属性返回一个类似数组的对象,包含了`<select>`内所有的`<option>`元素。我们可以通过遍历这个对象来操作各个选项,如添加、删除或检查选中状态。例如,`addSelected`函数通过遍历`listSrc.options`来找到所有被选中的选项,并将它们添加到`listDes`中。 ### 3. 创建和添加新选项 使用`new Option(text, value, selected, disabled)`构造函数可以创建一个新的`<option>`元素,其中`text`是显示文本,`value`是提交给服务器的值,`selected`表示是否默认选中,`disabled`表示是否禁用。在`addSelected`和`addAll`函数中,通过调用`listDes.options.length + 1`来在列表末尾添加新选项。 ### 4. 处理事件触发的操作 在HTML表单中,按钮的`onclick`属性可以绑定JavaScript函数,以响应用户的点击事件。例如,`<input type="button" onclick="addAll()" ...>`会当用户点击按钮时调用`addAll`函数,将所有源列表的选项移动到目标列表。 ### 5. 删除`<option>`元素 要从`<select>`元素中删除选项,可以通过`removeChild`方法移除`<option>`节点。`delSelected`和`delAll`函数演示了如何遍历并删除选中或全部的`<option>`元素。 ### 6. 多选列表框的处理 `<select multiple="multiple">`允许用户同时选择多个选项。在给定的代码中,`listSrc`和`listDes`都被设置为多选列表框,这使得`addSelected`和`delSelected`函数能够处理多个选中的选项。 这段代码展示了如何利用JavaScript和HTML结合,实现一个动态且交互性强的ListBox组件。开发者可以基于这些基础功能进一步扩展,如增加搜索过滤、排序等功能,以提升用户体验和页面的实用性。
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>无标题文档</title>
<script type="text/javascript">
function addSelected(){
var selIndexs = new Array();
var listSrc = window.document.getElementById("listSrc");
for(var i = 0; i < listSrc.options.length; i ++){
if(listSrc.options[i].selected == true){
var value=listSrc.options[i].value;
var text = listSrc.options[i].text;
var listDes = window.document.getElementById("listDes");
var l = listDes.options.length;
listDes.options[l+1] = new Option(text,value,true,true);
}
}
}
function addAll(){
alert(">>");
var listSrc = window.document.getElementById("listSrc");
for(var i = 0; i < listSrc.options.length;i ++){
var value = listSrc.options[i].value;
var text = listSrc.options[i].text;
- xiuxiansuosuo2013-07-31晕哦,什么玩意啊,比网上找的东西差一百倍,还要5分,太不道德.
- wojiwokuang2013-04-07就这个,随便从网上下载了一个东西,也好意思要价5分,坑爹的东西
- 粉丝: 11
- 资源: 7
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助