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

转:js中select及option的相关操作

阅读更多
javascript操作Select标记中options集合 
先来看看options集合的这几个方法: 
options.add(option)方法向集合里添加一项option对象; 
options.remove(index)方法移除options集合中的指定项; 
options(index)或options.item(index)可以通过索引获取options集合的指定项; 

javascript代码如下: 

var selectTag = null; //select标记 
var OPTONLENGTH = 10; //每次填充option数 
var colls = []; //对select标记options的引用 

window.onload = function(){ 
selectTag = document.getElementById("SelectBox"); //获取select标记 
colls = selectTag.options; //获取引用 
//initSelectBox(); //自初始化select.options 
}; 

//使用随机数填充select.options 
function initSelectBox(){ 
var random = 0 ; 
var optionItem = null; 
var item = null; 

if(colls.length > 0 && isClearOption()){ 
clearOptions(colls); 
} 

for(var i=0;i<OPTONLENGTH;i++){ 

random = Math.floor(Math.random()*9000)+1000; 
item = new Option(random,random); //通过Option()构造函数创建option对象 
selectTag.options.add(item); //添加到options集合中 
} 

watchState(); 
} 
//添加新option项前是否清空当前options 
function isClearOption(){ 
return document.getElementById("chkClear").checked; 
} 
//清空options集合 
function clearOptions(colls){ 
var length = colls.length; 
for(var i=length-1;i>=0;i--){ 
colls.remove(i); 
} 
} 
//添加一项新option 
function addOption(){ 
colls.add(createOption()); 
lastOptionOnFocus(colls.length-1); 
watchState(); 
} 
//创建一个option对象 
function createOption(){ 
var random = Math.floor(Math.random()*9000)+1000; 
return new Option(random,random); 
} 
//删除options集合中指定的一项option 
function removeOption(index){ 
if(index >= 0){ 
colls.remove(index); 
lastOptionOnFocus(colls.length-1); 
} 
watchState(); 
} 
//获取当前选定的option索引 
function getSelectedIndex(){ 
return selectTag.selectedIndex; 
} 
//获取options集合的总数 
function getOptionLength(){ 
return colls.length; 
} 
//获取当前选定的option文本 
function getCurrentOptionValue(index){ 
if(index >= 0) 
return colls(index).value; 
} 
//获取当前选定的option值 
function getCurrentOptionText(index){ 
if(index >= 0) 
return colls(index).text; 
} 
//使用options集合中最后一项获取焦点 
function lastOptionOnFocus(index){ 
selectTag.selectedIndex = index; 
} 
//显示当select标记状态 
function watchState(){ 
var divWatch = document.getElementById("divWatch"); 
var innerHtml=""; 
innerHtml = "option总数:" + getOptionLength(); 
innerHtml += "<br/>当前项索引:" + getSelectedIndex(); 
innerHtml += "<br/>当前项文本:" + getCurrentOptionText(getSelectedIndex()); 
innerHtml += "<br/>当前项值:" + getCurrentOptionValue(getSelectedIndex()); 
divWatch.innerHTML = innerHtml; 
divWatch.align = "justify"; 
} 

注意到上面创建option项时,使用了Option()构造函数,这个构造函数有两个版本的重载。 
1、var option = new Option(text,value); //这里要大写Option() 
2、var option = new Option(); 
option.text = text; 
option.value=value; 
我个人比较喜欢第一种方法来创建option对象。 
另外,select标记还有一个比较有用的属性就是selectedIndex,通过它可能获取当前选择的option索引,或通过索引设置指定options集合中哪一项被选择。 
select.selctedIndex = select.options.length-1; //将options集合中最后一项选中 
var selectedItem = select.options(select.selectedIndex);//获取当前选中项 
selectedItem.text; //选中项的文本 
selectedItem.value; //选中项的值 

<BODY> 
<Select name="SelectBox"> 
</Select> 
<hr/> 
<div id="divWatch" style="background-color:beige;width=220;"> 
</div> 
<hr/> 
<h4>使用随机数初始化SelectBox</h4> 
<input type="button" value="Init" onclick="initSelectBox()"/> <input type="checkbox" name="chkClear"/>clear 
<hr/> 
<h4>添加option项</h4> 
<input type="button" value="create" onclick="addOption()"/> 
<hr/> 
<h4>删除option项</h4> 
<input type="button" value="delete" onclick="removeOption(colls.length-1)"/> 
</BODY>
检测是否有选中 
if(objSelect.selectedIndex > -1) { 
//说明选中 
} else { 
//说明没有选中 
} 

删除被选中的项 
objSelect.options[objSelect.selectedIndex] = null; 

增加项 
objSelect.options[objSelect.length] = new Option("你好","hello"); 

修改所选择中的项 
objSelect.options[objSelect.selectedIndex] = new Option("你好","hello"); 

得到所选择项的文本 
objSelect.options[objSelect.selectedIndex].text; 

得到所选择项的值 
objSelect.options[objSelect.selectedIndex].value; 

详细出处参考:http://www.jb51.net/article/16240.htm

 

分享到:
评论

相关推荐

    js实现动态生成select中的option

    在JavaScript编程中,动态生成`select`元素中的`option`是一项常见的需求,特别是在网页交互或者数据展示时。本文将深入探讨如何使用JavaScript实现这一功能,同时结合提供的`autoSelect.html`和`autoselect.txt`...

    js 操作select和option

    ### JavaScript 操作 Select 和 Option 的方法详解 在网页开发中,`&lt;select&gt;` 元素是一种常见的表单控件,用于收集用户输入的选择项。它通常包含多个 `&lt;option&gt;` 子元素供用户选择。通过 JavaScript,我们可以实现...

    JS动态添加Select中的Option元素值

    在JavaScript(JS)编程中,动态添加Select中的Option元素值是一项常见的需求,特别是在网页交互或者数据填充时。这里我们将深入探讨如何实现这个功能,并提供一个实际的案例来演示这一过程。 首先,我们要理解HTML...

    javascript_select_option_操作详解.txt

    ### JavaScript Select Option 操作详解 #### 一、检测是否有选中项 在处理表单时,经常需要检测用户是否已选择了某个 `&lt;select&gt;` 元素中的 `&lt;option&gt;` 项。以下是一个简单的示例来实现这一功能: ```javascript ...

    javascript 获取select ->option中id、value、label属性及中内容

    javascript 获取select -&gt;option中id、value、label属性及&lt;option&gt;&lt;/option&gt;中内容

    select option带自定义图片

    总结来说,要实现`&lt;select&gt;`和`&lt;option&gt;`带有自定义图片的效果,我们需要结合HTML的`data-*`属性,JavaScript的动态操作和CSS的样式设计。这不仅增强了用户体验,也展示了前端技术在实现视觉效果方面的灵活性。在...

    Javascript操作Select和Option

    Javascript操作Select和Option 一个网页 挺全的

    select通过js删除指定的option选项

    简单的例子,点击按钮就删除掉option,也可以通过jquery加载的时候进行删除。

    JS动态添加option和删除option(附实例代码)

    1.动态创建select 代码如下: function createSelect(){ var mySelect = document.createElement(“select”); mySelect.id = “mySelect”; document.body.appendChild(mySelect); } 2.添加选项option 代码如下: ...

    js select option

    在JavaScript编程中,`select`元素和`option`标签是创建下拉列表的重要部分。`select`用于定义一个选择框,而`option`则用于在选择框中添加可选项。在网页交互中,用户通常会使用这样的下拉列表来从预设的选项中做出...

    jquery获得select option值

    根据提供的文件信息,我们可以总结出一...以上就是从给定文件中提取出来的有关如何使用jQuery来获取不同类型表单元素的值的相关知识点。这些方法在实际开发中非常实用,能够帮助开发者快速有效地操作页面上的各种元素。

    Jquery操作Select option整理

    ### jQuery 操作 Select Option 整理 #### 一、引言 在Web开发中,`&lt;select&gt;`元素作为用户交互的重要部分,常用于提供一系列选项供用户选择。jQuery作为一种流行的JavaScript库,极大地简化了DOM操作的过程,使得...

    用jquery获取select标签中选中的option值及文本的示例

    根据提供的文件信息,我们可以了解到如何使用jQuery来获取HTML中select标签的选中项(option)的值(value)和文本内容(text)。以下是详细的知识点: 1. 引入jQuery库:要使用jQuery操作DOM元素,必须先引入...

    向元素中动态添加option

    这篇博客“向&lt;select&gt;元素中动态添加option”探讨的就是如何在JavaScript或jQuery的帮助下,实现在用户界面中动态地向`&lt;select&gt;`元素添加选项。 JavaScript是一种广泛使用的客户端脚本语言,它可以操作HTML元素,...

    js操作option,js添加删除option,js判断option中的value是否存在,简洁

    用js操作select的option,可以增加删除和判断value值是否在下拉列表存在

    JS更改select内option属性的方法

    本文详细介绍了如何使用JavaScript更改select元素内option的属性,包括更改选项文本、值等,并提供了一个实例来演示具体操作。 首先,要更改select内的option属性,需要获取select元素的DOM引用。这通常通过...

    JS实现select选中option触发事件操作示例

    总的来说,JavaScript和jQuery提供了解决用户在`&lt;select&gt;`下拉列表中选择`&lt;option&gt;`时触发事件的方法。JavaScript原生方法要求更多的DOM操作,而jQuery提供了更简洁的语法和更强大的功能。理解这两种方式有助于在...

    jquery实现 两个select之间option的转移操作

    在网页开发中,jQuery是一个非常流行的JavaScript库,它极大地简化了DOM操作、事件处理和Ajax交互等任务。本文将深入探讨如何使用jQuery实现两个`&lt;select&gt;`元素之间的`&lt;option&gt;`选项转移操作,包括全选、单选以及...

    固定宽度下拉列表select中option内容显示不全问题解决方法

    在网页设计中,`&lt;select&gt;`元素和其子元素`&lt;option&gt;`经常被用来创建下拉列表,供用户选择。然而,在某些情况下,特别是在固定宽度的`&lt;select&gt;`元素中,如果`&lt;option&gt;`的内容过长,可能会导致内容显示不全,只显示部分...

Global site tag (gtag.js) - Google Analytics