`
jeelee
  • 浏览: 637732 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

JS操作select总结

阅读更多
JS动态改变select选择变更option的index值


document.getElementById("louyuming").options[0].selected=true;

function jsSelectIsExitItem(objSelect, objItemValue) {      

     var isExit = false;      

     for (var i = 0; i < objSelect.options.length; i++) {      

         if (objSelect.options[i].value == objItemValue) {      

             isExit = true;      

             break;      

         }      

     }      

     return isExit;      

}       

Javascript 操作select是表单中常见的一种,今天删除多个select值的时候出现了问题,搞了半天原来是索引引起的(即删除的时候要从索引大的开始删,然后再删除索引小的,否则删除了索引小的后索引大的索引就变化了,再删除时就会出现问题--问题的关键是for循环是要从大到小,而不是常规的从0到 length)

// 4.删除select中选中的项   

function jsRemoveSelectedItemFromSelect(objSelect) {       

     var length = objSelect.options.length - 1;   

     for(var i = length; i >= 0; i--){   

         if(objSelect[i].selected == true){   

             objSelect.options[i] = null;   

         }   

     }   

}     

1判断select选项中 是否存在Value="paraValue"的Item

2向select选项中 加入一个Item

3从select选项中 删除一个Item

4删除select中选中的项

5修改select选项中 value="paraValue"的text为"paraText"

6设置select中text="paraText"的第一个Item为选中

7设置select中value="paraValue"的Item为选中

8得到select的当前选中项的value

9得到select的当前选中项的text

10得到select的当前选中项的Index

11清空select的项

======================================================================

动态删除select中的所有options:

function deleteAllOptions(sel){

sel.options.length=0;

}

动态删除select中的某一项option:

function deleteOption(sel,indx){

sel.options.remove(indx);

}

动态添加select中的项option:

function addOption(sel,text,value){

sel.options.add(new Option(text,value));

}

上面在IE和FireFox都能测试成功,希望以后可以用上。

===========================================

js 代码

// 1.判断select选项中 是否存在Value="paraValue"的Item       

function jsSelectIsExitItem(objSelect, objItemValue) {       

     var isExit = false;       

     for (var i = 0; i < objSelect.options.length; i++) {       

         if (objSelect.options[i].value == objItemValue) {       

             isExit = true;       

             break;       

         }       

     }       

     return isExit;       

}        

  

// 2.向select选项中 加入一个Item       

function jsAddItemToSelect(objSelect, objItemText, objItemValue) {       

     //判断是否存在       

     if (jsSelectIsExitItem(objSelect, objItemValue)) {       

         alert("该Item的Value值已经存在");       

     } else {       

         var varItem = new Option(objItemText, objItemValue);     

         objSelect.options.add(varItem);    

         alert("成功加入");    

     }       

}       

  

// 3.从select选项中 删除一个Item       

function jsRemoveItemFromSelect(objSelect, objItemValue) {       

     //判断是否存在       

     if (jsSelectIsExitItem(objSelect, objItemValue)) {       

         for (var i = 0; i < objSelect.options.length; i++) {       

             if (objSelect.options[i].value == objItemValue) {       

                 objSelect.options.remove(i);       

                 break;       

             }       

         }       

         alert("成功删除");       

     } else {       

         alert("该select中 不存在该项");       

     }       

}   

  

  

// 4.删除select中选中的项   

function jsRemoveSelectedItemFromSelect(objSelect) {       

     var length = objSelect.options.length - 1;   

     for(var i = length; i >= 0; i--){   

         if(objSelect[i].selected == true){   

             objSelect.options[i] = null;   

         }   

     }   

}     

  

// 5.修改select选项中 value="paraValue"的text为"paraText"       

function jsUpdateItemToSelect(objSelect, objItemText, objItemValue) {       

     //判断是否存在       

     if (jsSelectIsExitItem(objSelect, objItemValue)) {       

         for (var i = 0; i < objSelect.options.length; i++) {       

             if (objSelect.options[i].value == objItemValue) {       

                 objSelect.options[i].text = objItemText;       

                 break;       

             }       

         }       

         alert("成功修改");       

     } else {       

         alert("该select中 不存在该项");       

     }       

}       

  

// 6.设置select中text="paraText"的第一个Item为选中       

function jsSelectItemByValue(objSelect, objItemText) {           

     //判断是否存在       

     var isExit = false;       

     for (var i = 0; i < objSelect.options.length; i++) {       

         if (objSelect.options[i].text == objItemText) {       

             objSelect.options[i].selected = true;       

             isExit = true;       

             break;       

         }       

     }             

     //Show出结果       

     if (isExit) {       

         alert("成功选中");       

     } else {       

         alert("该select中 不存在该项");       

     }       

}       

  

// 7.设置select中value="paraValue"的Item为选中   

objSelect.value = objItemValue;   

      

// 8.得到select的当前选中项的value   

var currSelectValue = objSelect.value;   

      

// 9.得到select的当前选中项的text   

var currSelectText = objSelect.options[document.all.objSelect.selectedIndex].text;   

      

// 10.得到select的当前选中项的Index   

var currSelectIndex = objSelect.selectedIndex;   

      

// 11.清空select的项   

objSelect.options.length = 0;  


整个实例的完整代码如下:

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

<html>

<head>

<title>javascript select options text value</title>

<meta name="keywords" content="javascript select options text value add modify delete set">

<meta name="description" content="javascript select options text value add modify delete set">

<script language="javascript">

<!--

// Author: i@lxl.cn

// Modify: i@cnlei.com

function watch_ini(){ // 初始

for(var i=0; i<arguments.length; i++){

   var oOption=new Option(arguments[i],arguments[i]);

   document.getElementById("MySelect")[i]=oOption;

}

}

function watch_add(f){ // 增加

   var oOption=new Option(f.word.value,f.word.value);

   f.keywords[f.keywords.length]=oOption;

}

function watch_sel(f){ // 编辑

f.word.value = f.keywords[f.keywords.selectedIndex].text;

}

function watch_mod(f){ // 修改

f.keywords[f.keywords.selectedIndex].text = f.word.value;

}

function watch_del(f){ // 删除

f.keywords.remove(f.keywords.selectedIndex);

}

function watch_set(f){ // 保存

var set = "";

for(var i=0; i<f.keywords.length; i++){

set += f.keywords[i].text + ";";

}

confirm(set);

}

//-->

</script>

</head>

<body>

<form name="watch" method="post" action="">

<select id="MySelect" name="keywords" size="10" onchange="watch_sel(this.form)"></select><br>

<script language="javascript">

<!--

watch_ini("我","你","妳","他","她","它","尔"); // 初始关键词

//-->

</script>

<input type="text" name="word" /><br />

<input type="button" value="增加" onclick="watch_add(this.form);" />

<input type="button" value="修改" onclick="watch_mod(this.form);" />

<input type="button" value="删除" onclick="watch_del(this.form);" />

<input type="button" value="保存" onclick="watch_set(this.form);" />

</form>

</body>

</html>
分享到:
评论

相关推荐

    js之Select用法

    2. **通过JavaScript操作`select`元素** - 获取`select`元素:可以使用`document.getElementById('mySelect')`或`document.querySelector('#mySelect')`来获取`select`元素。 - 添加/删除选项: - 添加选项:`...

    JS中Select下拉列表类(支持输入模糊查询)功能

    JS中Select下拉列表类支持输入模糊查询功能的知识点主要包括以下几个方面: 1. HTML结构设计:实现输入模糊查询功能的下拉列表通常包含一个输入框和一个下拉框。输入框用于用户输入查询字符,下拉框则是提供选项供...

    select2.js

    要实现上述功能,我们需要在页面上引入select2.js的JavaScript和CSS文件,并对Select元素进行初始化。以下是一个基本示例: ```html &lt;!DOCTYPE html&gt; &lt;link href="https://cdn.jsdelivr.net/npm/select2@4.x/...

    js实现select搜索.rar

    在标题"js实现select搜索.rar"中,我们看到这个压缩包包含的是关于这个插件的实现,特别是其搜索功能的实现代码。描述中的"jQuery bootstrap-select可搜索多选下拉列表插件"进一步强调了插件的主要特性,即搜索和...

    js select option

    在提供的压缩包文件中,有三个关于JQuery操作`select`的HTML文档:`JQuery操作select下拉列表框.htm`、`JQuery操作select下拉列表框2.htm`、`jQuery对select操作.html`。这些文档可能包含了更多关于如何利用JQuery...

    jquery操作select大全

    ### jQuery操作Select大全知识点详解 #### 1. 概述 jQuery操作Select大全主要包含了一系列使用jQuery操作select下拉列表的方法和实例。在Web开发过程中,动态地与select元素进行交互是常见的需求,jQuery为此提供...

    js从select1选择到select2 左边选择到右边(很好用)

    总结,这个功能通过JavaScript和HTML的`select`标签实现了在两个下拉列表之间动态移动选项的功能,方便用户在多个选项中进行选择。在实际应用中,可以根据需求进行调整和扩展,例如增加验证、批量操作等高级功能。...

    Jquery操作Select option整理

    jQuery作为一种流行的JavaScript库,极大地简化了DOM操作的过程,使得处理`&lt;select&gt;`元素变得简单高效。本文档汇总了一系列关于如何使用jQuery来操作`&lt;select&gt;`元素及其`&lt;option&gt;`子元素的方法,旨在为前端开发者...

    javascript 操作select下拉列表框的一点小经验.docx

    ### JavaScript操作Select下拉列表框的关键技术点 #### 一、背景与需求分析 在Web应用开发中,经常需要处理用户界面的各种交互行为。本文档介绍了一种利用JavaScript操作Select下拉列表框的方法,旨在满足特定场景...

    mobileSelect.js.rar

    mobileSelect.js的工作原理是通过监听用户的触摸事件,当触发特定操作时,如点击按钮,弹出预设的底部选择框。这个选择框通常包含一系列可选项目,用户可以通过滑动或点击来选择。库内部处理了触摸事件的响应,以及...

    jquery select2组件

    总结来说,`jQuery Select2`组件以其强大的功能、良好的用户体验和高度的可定制性,成为了网页开发中不可或缺的工具。通过熟练掌握其使用方法和配置选项,开发者可以轻松地提升下拉菜单的交互性和美观度。

    Jquery操作select标签例子

    总结来说,jQuery提供了强大的工具来处理`&lt;select&gt;`标签,使得在网页开发中操作下拉列表变得更加简单和高效。通过上述方法,你可以轻松实现选中、更改、获取信息、清除、删除和添加选项等操作,为用户提供更加友好的...

    jQuery下拉查询筛选插件Combo Select

    &lt;script src="js/combo-select.js"&gt; ``` 2. **初始化插件**:在需要应用`Combo Select`的`&lt;select&gt;`元素上调用jQuery方法: ```javascript $(document).ready(function() { $('select').comboSelect(); }); ...

    下拉框带模糊查询引入select2组件.zip

    在这个例子中,`#mySelect`是下拉框的ID,`select2.min.js`和`select2.min.css`分别是Select2的JavaScript和CSS文件。 总结来说,"下拉框带模糊查询引入select2组件.zip"是一个包含Select2库和使用示例的压缩包,...

    javascript html js 自定义多级联动下拉菜单,自定义select联动

    总结来说,实现自定义的多级联动下拉菜单涉及HTML布局、JavaScript交互和DOM操作。通过合理地组合这些技术,我们可以创建出功能强大且用户体验优秀的下拉菜单,这在很多Web应用中都是不可或缺的一部分。记得实践是...

    select2-4.0.6最新js、css

    总结,`select2-4.0.6`是一个功能强大且易用的前端选择器组件,它的JS和CSS文件共同构成了一个完整的解决方案,帮助开发者创建高效、美观的选择器。通过深入了解其内部机制和使用方法,我们可以更好地利用这个工具,...

    selectbox Js实现的下拉复选框

    总结,"selectbox Js实现的下拉复选框"是一个实用的网页交互设计技巧,它结合了JavaScript、HTML和CSS的力量,使得在有限的页面空间内,用户仍能方便地选择多项条件。通过理解上述知识点,开发者可以构建出更加高效...

    JavaScript 多级联动select

    本文将深入解析如何利用原生 JavaScript 实现多级联动 Select,包括其核心逻辑、事件监听、DOM 操作等方面。 #### 一、理解多级联动 Select 多级联动 Select 指的是在一个表单中,多个 Select 控件之间的值会相互...

    js 操作select和option常用代码整理

    这篇文档主要总结了JavaScript操作`select`和`option`的一些常见代码片段。 1. **获取选中项的值和文本** 当用户选择了一个`&lt;option&gt;`后,可以通过`$(“#mySelect”).val()`获取选中项的`value`值,通过`$(“#...

Global site tag (gtag.js) - Google Analytics