`
xiaohuohaoxiao
  • 浏览: 3784 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Javascript 操作select控件大全(新增、修改、删除、选中、清空、判断存在等)(转)

    博客分类:
  • js
阅读更多
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的项


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;   
        }   
    }   
}     
//删除select中选中符合某些条件的项
function removeSelect(objSelect){
for(var i=0;i<objSelect.options.length;i++){
if(objSelect.options[i].value<5 && objSelect.options[i].value.length>0){
objSelect.remove(i);
i--;
}
}
}
// 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为选中   
document.all.objSelect.value = objItemValue;   
      
// 8.得到select的当前选中项的value   
var currSelectValue = document.all.objSelect.value;   
      
// 9.得到select的当前选中项的text   
var currSelectText = document.all.objSelect.options[document.all.objSelect.selectedIndex].text;   
      
// 10.得到select的当前选中项的Index   
var currSelectIndex = document.all.objSelect.selectedIndex;   
      
// 11.清空select的项   
document.all.objSelect.options.length = 0; 

/*select控件常见操作*/

//1、向select里添加option
function selectOptionAdd(oSelect, sName, sValue) {
var oOption = document.createElement("option");
oOption.appendChild(document.createTextNode(sName));

if (arguments.length == 3) {
oOption.setAttribute("value", sValue);
}

oSelect.appendChild(oOption);
}
//在select控件的指定位置插入一项
function addOptionAtPosition(oSelect, optionValue, optionText, position) {
if (document.all) //IE
{
var option = document.createElement("option");
option.value = optionValue;
option.innerText = optionText;
oSelect.insertBefore(option, oSelect.options[position]);
} else { //其他浏览器
oSelect.insertBefore(new Option(optionValue, optionText), oSelect.options[position]);
}
}


//2、删除select里的option
function selectOptionRemoveItem(oSelect) {
if (oSelect.selectedIndex > -1) {//说明选中
for (var i = 0; i < oSelect.options.length; i++) {
if (oSelect.options[i].selected) {
oSelect.remove(i);
i = i - 1; //注意这一行 **************************
}
}
}
}
//select移除一项
function removeOneOption(oSelect, optionValue) {
var selOptions = oSelect.options;
for (var i = 0; i < selOptions.length; i++) {
if (selOptions[i].value == optionValue) {
oSelect.remove(i);
break;
}
}
}

// 清空select所有项目
function removeSelItems(oSelect) {
//删除select中所有项
oSelect.options.length = 0;
}

//3、移动select里的option到另一个select中
function selectsMoveOption(oSelectFrom, oSelectTo) {
for (var i = 0; i < oSelectFrom.options.length; i++) {
if (oSelectFrom.options[i].selected) {
/*if 里的代码也可用下面几句代码代替 var op = oSelectFrom.options[i];oSelectTo.options.add(new Option(op.text, op.value));oSelectFrom.remove(i); */
oSelectTo.appendChild(oSelectFrom.options[i]);
i = i - 1;
}
}
}

//4、select里option的上下移动
function selectMoveUp(oSelect) {
for (var i = 1; i < oSelect.length; i++) {//最上面的一个不需要移动,所以直接从i=1开始
if (oSelect.options[i].selected) {
/*在进行上下两项互换时,也可以使用以下代码,但是效率很低,因为每一次的Dom操作都将导致整个页面的重新布局,所以不如直接修改元素的属性值。var oOption = oSelect.options[i];var oPrevOption = oSelect.options[i-1];oSelect.insertBefore(oOption,oPrevOption);向下移动同理 */
if (!oSelect.options.item(i - 1).selected) {//上面的一项没选中,上下交换
var selText = oSelect.options[i].text;
var selValue = oSelect.options[i].value;

oSelect.options[i].text = oSelect.options[i - 1].text;
oSelect.options[i].value = oSelect.options[i - 1].value;
oSelect.options[i].selected = false;

oSelect.options[i - 1].text = selText;
oSelect.options[i - 1].value = selValue;
oSelect.options[i - 1].selected = true;
}
}
}
}

function selectMoveDown(oSelect) {
for (var i = oSelect.length - 2; i >= 0; i--) {//向下移动,最后一个不需要处理,所以直接从倒数第二个开始
if (oSelect.options.item(i).selected) {
if (!oSelect.options.item(i + 1).selected) {//下面的Option没选中,上下互换
var selText = oSelect.options.item(i).text;
var selValue = oSelect.options.item(i).value;

oSelect.options.item(i).text = oSelect.options.item(i + 1).text;
oSelect.options.item(i).value = oSelect.options.item(i + 1).value;
oSelect.options.item(i).selected = false;

oSelect.options.item(i + 1).text = selText;
oSelect.options.item(i + 1).value = selValue;
oSelect.options.item(i + 1).selected = true;
}
}
}
}
//5、select里option的排序
/*这里借助Array对象的sort方法进行操作,sort方法接受一个function参数,可以在这个function里定义排序时使用的算法逻辑。*/

//因为排序可以按Option的Value排序,也可以按Text排序,这里按Value排序
function sortItems(oSelect) {
var selLength = oSelect.options.length;
var arr = new Array();
var arrLength;
//将所有Option放入array
for (var i = 0; i < selLength; i++) {
arr[i] = oSelect.options[i];
}
arrLength = arr.length;
arr.sort(sortNumber); //排序
//先将原先的Option删除
while (selLength--) {
oSelect.options[selLength] = null;
}
//将经过排序的Option放回Select中
for (i = 0; i < arrLength; i++) {
selectOptionAdd(oSelect, arr[i].text, arr[i].value);
//oSelect.add(new Option(arr[i].text,arr[i].value));
}
}

//6.鼠标悬浮时获取select的options的index
function getOptionIndex(oSelect) {
var theIndex = -1;
if (oSelect.options.length > 0) {
theIndex = Math.floor((event.offsetY + 2) / (oSelect.offsetHeight / oSelect.options.length));
if (theIndex < 0) theIndex = 0;
else if (theIndex > oSelect.options.length) theIndex = oSelect.options.length;
}
return theIndex;
}
分享到:
评论

相关推荐

    Javascript 操作select控件大全(新增、修改、删除、选中、清空、判断存在等)

    本文将详细介绍如何使用JavaScript对`&lt;select&gt;`控件进行各种操作,包括新增选项、修改选项、删除选项、选中特定选项、清空所有选项以及判断某个值的选项是否存在。 ### 一、判断选项是否存在 使用以下函数可以检查...

    Javascript 操作select控件大全

    Javascript 操作select控件大全(新增、修改、删除、选中、清空、判断存在等

    js操作select控件大全

    js 操作 select 控件大全是 JavaScript 中对 select 控件的各种操作的集合,包括新增、修改、删除、选中、清空、判断存在等多种操作。下面将对这些操作进行详细的介绍和讲解。 一、 判断 select 选项中是否存在 ...

    Javascript select控件操作大全(新增、修改、删除、选中、清空、判断存在等)

    操作select控件是前端开发中常见的任务,包括但不限于新增选项、修改选项、删除选项、选中某个选项、清空选项以及判断某个特定值的选项是否存在等。以下是这些操作的知识点详细说明: 1. 判断select选项中是否存在...

    html js 清除select里的值,js控制select增删改,选中,清空, 判断控件是否存在

    在HTML和JavaScript编程中,`&lt;select&gt;`元素用于创建下拉列表,经常需要进行动态操作,比如添加、删除、修改选项,以及选中和清空选中的值。本篇文章将探讨如何通过JavaScript来实现这些功能,并判断控件是否存在。...

    select 控件操作大全

    使用JavaScript可以轻松地操纵这些 `&lt;select&gt;` 控件,从而实现动态地添加、删除、修改选项等功能。本文将详细介绍如何使用JavaScript进行 `&lt;select&gt;` 控件的各种操作。 #### 二、知识点详解 ##### 1. 判断 `select...

    Javascript操作select控件代码实例

    本文将详细介绍如何使用JavaScript来操作这个控件,包括新增、删除、修改、选中和清空选项,以及判断特定选项是否存在的方法。 1. **判断select选项中是否存在指定Value的Item** ```javascript function ...

    js操作select控件的几种方法

    以下是一些关键的JavaScript方法,用于处理select控件: 1. **判断select选项中是否存在Value="paraValue"的Item** 使用`jsSelectIsExitItem`函数,通过遍历select的options数组并检查每个option的value属性,可以...

    JavaScript用select实现日期控件

    3. 日期控件逻辑实现:日期控件的逻辑实现主要通过JavaScript函数来完成,如init()函数用于初始化select控件的option,swap_day()函数根据用户选择的年份和月份动态更新日期选项。同时,数组month_big和month_small...

    select元素javascript常用操作

    结合JavaScript,我们可以实现对`&lt;select&gt;`元素的动态操作,增强用户体验,实现更复杂的交互功能。下面将详细介绍在JavaScript中对`&lt;select&gt;`元素进行的常见操作。 ### 1. 检查`&lt;select&gt;`元素中是否存在特定值的项 ...

    BootStrap Select清除选中的状态恢复默认状态

    这一步是关键,因为不执行刷新操作,Bootstrap Select可能不会根据你对select元素的修改更新界面。 在实际项目中,可能会有多个Bootstrap Select组件需要重置。为避免重复代码,可以创建一个函数来处理所有的下拉框...

    js 操作select和option

    通过 JavaScript,我们可以实现对这些元素的动态操作,包括创建、添加、删除选项等。下面将详细介绍如何使用 JavaScript 来操作 `&lt;select&gt;` 和 `&lt;option&gt;`。 #### 1. 动态创建 Select 控件 ```javascript function...

    jq重置select下拉列表.docx

    jq是一种轻量级的JavaScript库,用于简化DOM操作、事件处理和动画等功能。jq提供了许多实用的方法,例如选择器、事件绑定、动画等,帮助开发者快速构建网页应用程序。 二、select下拉列表的重置 在select下拉列表中...

    JS对select控件option选项的增删改查示例代码

    以下内容将详细介绍如何使用JavaScript对select控件中的option选项进行增加、删除、修改和查询操作。 首先,创建一个select元素可以通过JavaScript动态完成。这在需要根据某些条件或者用户操作来动态生成下拉菜单时...

    jquery下拉select控件操作方法分享(jquery操作select)

    本文将详细讲解如何使用jQuery来操作select元素,包括获取和设置选项、添加与删除选项以及改变选中状态等常见操作。 1. **获取和设置Select选项** - `$("#select_id").change(function() {...})`:此代码用于为...

    浅析jQuery操作select控件的取值和设值

    在网页开发中,jQuery库为JavaScript提供了一种更简洁、高效的方式来操作DOM元素,包括对select控件的处理。本文将深入浅出地探讨如何使用jQuery来获取和设置select控件的值,这对于构建交互性更强的网页界面至关...

    JQuery select控件的相关操作实现代码

    在Web开发中,jQuery库为JavaScript提供了一种更简洁、更高效的方式来操作DOM元素,包括对select控件的操作。以下是对标题和描述中提到的jQuery操作select控件的相关知识点的详细说明: 1. **获取select控件的选择...

Global site tag (gtag.js) - Google Analytics