`

Javascript 表单 Select 添加 删除 子项目 操作

阅读更多
原址:http://www.mredkj.com/tutorials/tutorial005.html
HTML/JavaScript - Select list - Add/Remove Options (DOM)
select, options, insert, remove, append last, remove last
Using a technique that works in DOM compliant browsers
Tutorial005 - Try It

Select

样式:(本页中操作不起作用,只为原型,其脚与html请看 示例下一个)

Insert Before Selected
Remove Selected
Append5 Append6 Append7 Append8 Append10 Append11 Append12 Append13 Append14 Append15
Append Last
Remove Last

The JavaScript

<script language="JavaScript" type="text/javascript">
<!--
var count1 = 0;
var count2 = 0;

function insertOptionBefore(num)
{
  var elSel = document.getElementById('selectX');
  if (elSel.selectedIndex >= 0) {
    var elOptNew = document.createElement('option');
    elOptNew.text = 'Insert' + num;
    elOptNew.value = 'insert' + num;
    var elOptOld = elSel.options[elSel.selectedIndex];  
    try {
      elSel.add(elOptNew, elOptOld); // standards compliant; doesn't work in IE
    }
    catch(ex) {
      elSel.add(elOptNew, elSel.selectedIndex); // IE only
    }
  }
}

function removeOptionSelected()
{
  var elSel = document.getElementById('selectX');
  var i;
  for (i = elSel.length - 1; i>=0; i--) {
    if (elSel.options[i].selected) {
      elSel.remove(i);
    }
  }
}

function appendOptionLast(num)
{
  var elOptNew = document.createElement('option');
  elOptNew.text = 'Append' + num;
  elOptNew.value = 'append' + num;
  var elSel = document.getElementById('selectX');

  try {
    elSel.add(elOptNew, null); // standards compliant; doesn't work in IE
  }
  catch(ex) {
    elSel.add(elOptNew); // IE only
  }
}

function removeOptionLast()
{
  var elSel = document.getElementById('selectX');
  if (elSel.length > 0)
  {
    elSel.remove(elSel.length - 1);
  }
}
//-->
</script>

The HTML

<form>
<input type="button" value="o" onclick="insertOptionBefore(count1++);" />
Insert Before Selected<br />
<input type="button" value="o" onclick="removeOptionSelected();" />
Remove Selected<br />
<select id="selectX" size="10" multiple="multiple">
<option value="original1" selected="selected">Orig1</option>
<option value="original2">Orig2</option>
</select>
<br />
<input type="button" value="o" onclick="appendOptionLast(count2++);" />
Append Last<br />
<input type="button" value="o" onclick="removeOptionLast();" />
Remove Last
</form>

分享到:
评论

相关推荐

    JavaScript完全自学宝典 源代码

    示例描述:介绍JavaScript与表单控件。 6.1.html JavaScript获取文本框的值。 6.2.html JavaScript控制文本框。 6.3.html 文本框的JavaScript特效。 6.4.html 获取select元素的值。 6.5....

    最新Python3.5零基础+高级+完整项目(28周全)培训视频学习资料

    javascript字符串操作以及跑马灯实例 javascript数组和字典以及for循环 javascript条件语句 javascript函数的定义 Dom直接选择器 Dom间接选择器 示例之模态对话框 示例之全选和反选以及取消 javascript必须加分号 ...

    python入门到高级全栈工程师培训 第3期 附课件代码

    python入门到高级全栈工程师培训视频学习资料;本资料仅用于学习,请查看后24小时之内删除。 【课程内容】 第1章 01 计算机发展史 02 计算机系统 03 小结 04 数据的概念 ...16 Model操作之select_related以及...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例181 表单输入单元单击删除 218 实例182 表单文本输入的移动选择 219 实例183 通过下拉列表选择头像 220 3.5 CSS+DIV页面布局 222 实例184 应用CSS+DIV实现无边框窗口 222 实例185 设置表格样式 224 实例186 设置...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例181 表单输入单元单击删除 218 实例182 表单文本输入的移动选择 219 实例183 通过下拉列表选择头像 220 3.5 CSS+DIV页面布局 222 实例184 应用CSS+DIV实现无边框窗口 222 实例185 设置表格样式 224 实例186 设置...

    精通AngularJS part1

    将子表单作为可重用组件157 57重复子表单158 验证重复输入159 58处理传统的HTML表单提交161 直接向服务器提交表单161 处理表单提交事件161 使用ngSubmit处理表单提交162 使用ngClick处理表单提交162 59重置...

    vue面试题 VUE面试题集

    在 Vue 中,v-model 指令可以用于多种表单元素,如 input、textarea 和 select 等。当使用 v-model 指令时,Vue 会自动将表单元素的值与数据建立双向绑定。当用户修改表单元素的值时,对应的数据也会自动更新;反之...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    -增加示例(data/tree_select_run.aspx),如何选中当前节点的所有子节点(feedback:wjl_wjl520)。 +TreeNode的属性NodeId被重命名为NodeID,这是ExtAspNet中的一个命名约定。 -同时更名的还有GridColumn的...

    jQuery详细教程

    当我们在教程中演示 jQuery 时,会将函数直接添加到 &lt;head&gt; 部分中。不过,把它们放到一个单独的文件中会更好,就像这样(通过 src 属性来引用文件): 实例 &lt;script type="text/javascript" src="jquery.js"&gt; ...

    ExtAspNet_v2.3.2_dll

    -增加示例(data/tree_select_run.aspx),如何选中当前节点的所有子节点(feedback:wjl_wjl520)。 +TreeNode的属性NodeId被重命名为NodeID,这是ExtAspNet中的一个命名约定。 -同时更名的还有GridColumn的...

    web前端常用单词.docx

    * List: 列表,用于展示一系列的项目。 * Section: 分区或分块,用于将页面分成不同的部分。 * Article: 文章,用于展示网站的主要内容。 * Aside: 侧边栏或广告,用于展示网站的相关信息。 * Footer: 页脚或底部,...

    jQuery攻略.pdf

    47 3.9 查明元素何时获得和失去焦点 49 3.10 在按钮上应用悬停效果 50 3.11 切换应用一个CSS类 52 3.12 创建基于图像的变换 54 3.13 为响应事件而添加和删除文本 57 3.14 应用样式作为对事件的响应 58 3.15 显示文字...

    正则表达式

    也可以用JavaScript 1.2中的新添加的一个特殊语法来创建RegExp对象.就像字符串直接量被定义为包含在引号内的字符一样, 正则表达式直接量也被定义为包含在一对斜杠(/)之间的字符.所以,JavaScript可能会包含如下的...

    asp.net知识库

    体验.net2.0的优雅(3) -- 为您的 SiteMap 添加 控制转发功能 GridView控件使用经验 ASP.NET 2.0:弃用 DataGrid 吧,有新的网格控件了! ASP.NET2.0控件一览---标准控件(1) ASP.NET2.0控件一览---标准控件(2) ASP...

    前端框架Vue期末复习资料

    * v-model: 在表单 、&lt;textarea&gt; 及 &lt;select&gt; 元素上创建双向数据绑定 * v-text: 用来更新元素的文本内容 * v-html: 用于更新元素的 innerHTML,解析 html 标签内容 * v-once: 只渲染元素和组件一次,随后的重新渲染...

    mall-xiaohongshu-小程序模仿小红书.zip

    但是这块地方,表单验证及添加地址信息提交到地址列表中,有让我一阵子头疼。 首先就是表单验证,当你提交表单时触发formSubmit事件,对表单进行验证。如果未输入内容或者输入内容格式有误,通过wx.showModal()给...

    Java学习笔记-个人整理的

    {12.8}子查询}{161}{section.12.8} {12.9} 授权与回收权限}{161}{section.12.9} {12.10}示例}{162}{section.12.10} {12.10.1}exists}{165}{subsection.12.10.1} {12.11}集合操作}{165}{section.12.11} {12.11....

Global site tag (gtag.js) - Google Analytics