`
zbm2001
  • 浏览: 16270 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

select标签元素 操作option方法的一些细节

阅读更多
<form name="form1" action="" method="">
<select name="select1">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
</select>
</form>

var select1 = document.form1.select1;

/********** 清空所有option **********/

// 一个很取巧的方法,兼容所有浏览器
select1.length = 0;


/********** 删除一个option **********/

// 在options对象上操作,FF会报错——没有该方法,其他浏览器则可以正常操作:
select1.options.remove(0)

// 兼容的标准方法是在select上操作
select1.remove(0)


/********** 添加一个option **********/

// DOM方式新增一个option
var opt = document.createElement("option");
opt.text = "这是一个新增的选项";
opt.value = "newAdd1";
// js对象方式新增一个option
var opt = new Option("这是一个新增的选项", "newAdd1");

// 在select上操作,FF会报错,safari不能插入正确的索引位置,IE和opera则可以正确操作:
select1.add(opt, 0)
// 原来FF中,select元素的add方法的第二个参数必须为一个option,这一点和appendChild方法很相似,safari虽非必须,却不能正确操作索引。
// 但经过修改后,IE无法正常操作——也未报错,其他浏览器则可以正确操作
select1.add(opt, select1[0])

// 兼容的标准方法是在options对象上操作
select1.options.add(opt, 0)

注意:
当add(opt, 0)方法的第二个参数是在当前的option索引数范围内,则插入该参数索引的位置,原来的当前及之后索引的option则依次向后位移;
若第二个参数大于原option索引数范围,则视同插入原option.length的位置

// 如果你是在原option索引数范围后追加,再介绍一个偷巧的方式

select1.length = 4;
select1[3] = opt;

// 这种方式咋一看没什么特别的,但你可以像以下这样操作,创建并追加一个option:

select1.length = 4;
select1[3].text = "这是一个新增的选项";
select1[3].value = "newAdd1";

// 并且,你可以根据需要设置select1.length的长度,迭代如此创建追加

// 关键是:设置select1.length的长度后,浏览器会自动生成补位的option,采用这种属性赋值方法,速度要比上两种方法快上好几倍,不信你试试 

分享到:
评论

相关推荐

    JavaScript实现select添加option

    接着,通过设置select元素的onchange事件处理函数,可以实现当用户更改选中选项时执行一些特定的操作。在这个例子中,onchange事件被用来弹出一个警告框显示选中option的value值。 最后,通过`document.body....

    多选select组件 涉及的所有常用操作

    在前端开发中,多选select组件是经常遇到的一种交互元素,用于实现用户可以选择多个选项的功能。本篇文章将探讨“多选select组件涉及的所有常用操作”,并结合提供的`mulSelectOperator.js`文件,来深入理解其背后的...

    JS 将select options 排序

    5. **重新插入排序后的`&lt;option&gt;`**:由于`sort()`方法不会改变DOM结构,所以排序后需要将新的`&lt;option&gt;`数组重新插入到`&lt;select&gt;`元素中。可以使用`removeChild`和`appendChild`方法完成此操作。 以下是一个简单的...

    select自定义

    在网页设计和开发中,`select`元素是一个非常常见的组件,用于创建下拉选择框。这个自定义`select`的实例旨在提供一种简单、快捷的方式来定制下拉框的外观和功能,使其更符合个人或项目的特定需求。下面将详细介绍这...

    Django forms表单 select下拉框的传值实例

    生成的HTML代码会包含`select`下拉框,每个`&lt;option&gt;`标签对应`ClassInfo`模型的一个实例,其`value`属性是该对象的主键,`selected`属性表示默认选中的项。例如: ```html &lt;select name="classInfo" id="id_...

    jsp基础上实现select

    在JavaServer Pages (JSP) 中,`&lt;select&gt;`元素是用于创建下拉列表的HTML标签,常用于网页表单中。本示例将详细解释如何在JSP基础之上实现`&lt;select&gt;`的选择功能。 首先,我们需要理解JSP的基本结构。JSP是一种服务器...

    自定义select加搜索查找angular js

    本文将深入探讨如何使用AngularJS实现自定义的select组件,并结合搜索查找功能,以满足动态数据加载和select标签的使用需求。 首先,AngularJS的核心理念是数据绑定和依赖注入,这使得它在处理DOM操作时更加便捷。...

    select模拟div

    本文将深入探讨如何使用`div`元素来模拟`&lt;select&gt;`标签的功能,并提供一个源码实例。 首先,我们了解`&lt;select&gt;`的基本结构和功能。`&lt;select&gt;`标签包含了多个`&lt;option&gt;`标签,用户可以在这些选项中进行选择。例如: ...

    jquery Firefox3.5中操作select的问题

    然而,当我们需要操作select元素中的选项(option元素)时,问题就出现了。 传统上,开发者可能会使用 $("#customer option[selected]") 来获取选中的option元素,其中option是HTML select元素的子元素,[selected]...

    省、市、县三级select列表菜单

    6. **DOM操作**:使用jQuery提供的DOM操作方法,如`.append()`,将新的&lt;option&gt;元素添加到&lt;select&gt;元素中。 7. **用户体验优化**:为了提供更好的用户体验,可以添加一些额外的功能,如默认值设定、错误处理、加载...

    select框美化

    在网页设计中,选择框(Select)是常见的一种表单元素,用于用户在预设的选项中进行选择。然而,原生的HTML `&lt;select&gt;` 元素在样式控制上相对有限,导致其在视觉效果上可能无法满足现代网页设计的需求。针对这一问题...

    自定义select html、js、css

    一个标准的Select元素通常包括一个`&lt;select&gt;`标签,其中包含多个`&lt;option&gt;`标签,每个`&lt;option&gt;`代表一个可选项: ```html &lt;select id="customSelect"&gt; &lt;option value="option1"&gt;Option 1&lt;/option&gt; &lt;option value...

    jQuery实现select样式美化代码

    接下来,我们创建一个基础的select元素,并为其添加类名以便于后续的CSS选择器操作: ```html &lt;select class="custom-select"&gt; &lt;option value="1"&gt;Option 1&lt;/option&gt; &lt;option value="2"&gt;Option 2&lt;/option&gt; ...

    Jquery结合jQueryUI实现的select下拉框美化以及功能性禁用的效果源码.zip

    在网页开发中,选择框(select)是常见的一种交互元素,用于用户在多个选项中进行选择。然而,原生的HTML select元素样式通常较为单一,不符合现代网页设计的美观要求。为了解决这个问题,开发者经常借助JavaScript...

    IOS中safari下的select下拉菜单文字过长不换行的解决方法

    `&lt;select&gt;`标签是HTML中用来创建下拉列表的元素,用户可以从一系列预设的选项中进行选择。然而,不同的浏览器可能对`&lt;select&gt;`的渲染方式有所差异,尤其是在移动端的Safari中,对于长文字的处理方式可能会导致显示...

    jQuery黑白两种响应式手机下拉框select

    总结起来,jQuery黑白两种响应式手机下拉框select的实现涉及到响应式设计原则、自定义CSS样式以及利用jQuery进行事件处理和DOM操作。这个过程不仅提升了用户体验,也展示了jQuery在增强网页交互性方面的强大能力。

    jQuery超酷select选择下拉框美化特效源码.zip

    为了实现美化效果,我们需要用自定义的HTML元素替换原始的select标签。例如,可以创建一个div元素作为容器,内部包含一个隐藏的select元素和一个用于展示选项的ul元素: ```html &lt;div class="custom-select"&gt; ...

    使用layui监听器监听select下拉框,事件绑定不成功的解决方法

    1. **渲染问题**:如果你是在运行时动态添加的option选项,需要确保调用`form.render('select')`来重新渲染select元素,使layui能够正确绑定事件。例如: ```javascript // 动态添加option var option = '...

    layui使用label标签的方法

    在成功获取数据后,我们会通过遍历数据集,使用jQuery的.append()方法将新的option元素添加到select元素中。 在完成表单元素的初始化和数据加载后,我们还需要编写相应的脚本来处理用户提交的数据。这通常涉及到...

    struts1_标签

    `&lt;html:select&gt;`配合`&lt;html:option&gt;`用于创建下拉列表。 Bean标签库则是为了方便访问和操作JavaBean中的属性。通过`&lt;bean:define&gt;`可以定义一个变量,`&lt;bean:write&gt;`用来输出JavaBean的属性值,`&lt;bean:include&gt;`...

Global site tag (gtag.js) - Google Analytics