HTML中select标签单选多选详解--Js操作Select大全

来源:互联网 发布:质数c语言 编辑:程序博客网 时间:2024/05/16 15:12

select 元素可创建单选或多选菜单。当提交表单时,浏览器会提交选定的项目,或者收集用逗号分隔的多个选项,将其合成一个单独的参数列表,并且在将 <select> 表单数据提交给服务器时包括 name 属性。

一、基本用法:

<select>

  <option value ="volvo">Volvo</option>

  <option value ="saab">Saab</option>

  <option value="opel">Opel</option>

  <option value="audi">Audi</option>

</select>

其中,</option>标签可以省掉,在页面中用法

<SELECT NAME="studyCenter" id="studyCenter"  SIZE="1">

           <OPTION VALUE="0">全部

           <OPTION VALUE="1">湖北电大网络学习中心

           <OPTION VALUE="2">成都师范学院网络学习中心

           <OPTION VALUE="3">武汉职业技术学院网络学习中心

   </SELECT>

二、Select元素还可以多选,看如下代码:

//有multiple属性,则可以多选
<select name= “education” id=”education” multiple=”multiple”>
       <option value=”1”>高中</option>
       <option value=”2”>大学</option>
       <option value=”3”>博士</option>
</select>

//下面没有multiple属性 , 只显示一条,不能多选
<select name= “education” id=”education” >
       <option value=”1”>高中</option>
       <option value=”2”>大学</option>
       <option value=”3”>博士</option>
</select>
//下面是设置了size属性的情况 , 如果size = 3 那么就显示三条数据,注意不能多选的。
<select name="education" id="education" size='3'>
         <option value="0">小学</option>
         <option value="1">初中</option>
         <option value="2">高中</option>
         <option value="3">中专</option>
         <option value="4">大专</option>
         <option value="5">本科</option>
         <option value="6">研究生</option>
         <option value="7">博士</option>
         <option value="8">博士后</option>
         <option selected>请选择</option>
</select>

 

三、 多选Select组件涉及的所有常用操作:

1.      判断select选项中是否存在指定值的Item 

@param objSelectId 将要验证的目标select组件的id

@param objItemValue 将要验证是否存在的值

function isSelectItemExit(objSelectId,objItemValue)  {  
 var objSelect = document.getElementById(objSelectId);
    var isExit = false;  
    if (null != objSelect && typeof(objSelect) != "undefined") {
     for(var i=0;i<objSelect.options.length;i++) {  
         if(objSelect.options[i].value == objItemValue) {  
             isExit = true;  
             break;  
         }  
     }  
    }
    return isExit; 
 }

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

@param  objSelectId 将要加入item的目标select组件的id
@param objItemText 将要加入的item显示的内容
@param objItemValue 将要加入的item的值

function addOneItemToSelect(objSelectId,objItemText,objItemValue) {  
 var objSelect = document.getElementById(objSelectId);
    if (null != objSelect && typeof(objSelect) != "undefined") {
      //判断是否该值的item已经在select中存在 
     if(isSelectItemExit(objSelectId,objItemValue)) {  
         $.messager.alert('提示消息','该值的选项已经存在!','info');
     }  else  {
         var varItem = new Option(objItemText,objItemValue);  
         objSelect.options.add(varItem);  
     }  
    } 
}

3.    从select选项中删除选中的项,支持多选多删

@param objSelectId 将要进行删除的目标select组件id

function removeSelectItemsFromSelect(objSelectId) {  
 var objSelect = document.getElementById(objSelectId);
 var delNum = 0;
     if (null != objSelect && typeof(objSelect) != "undefined") {
        for(var i=0;i<objSelect.options.length;i=i+1) {  
            if(objSelect.options[i].selected) {  
                objSelect.options.remove(i);  
                delNum = delNum + 1;
                i = i - 1;
            }  
        }         
     if (delNum <= 0 ) {
      $.messager.alert('提示消息','请选择你要删除的选项!','info');
     } else {
      $.messager.alert('提示消息','成功删除了'+delNum+'个选项!','info');
     }
     } 
}

4.      从select选项中按指定的值删除一个Item   
  @param objSelectId 将要验证的目标select组件的id
  @param objItemValue 将要验证是否存在的值

function removeItemFromSelectByItemValue(objSelectId,objItemValue) {  
 var objSelect = document.getElementById(objSelectId);
     if (null != objSelect && typeof(objSelect) != "undefined") {
      //判断是否存在
       if(isSelectItemExit(objSelect,objItemValue)) {  
         for(var i=0;i<objSelect.options.length;i++) {  
             if(objSelect.options[i].value == objItemValue) {  
                 objSelect.options.remove(i);  
                 break;  
             }  
         }         
         $.messager.alert('提示消息','成功删除!','info');             
     } else {  
         $.messager.alert('提示消息','不存在指定值的选项!','info');  
     }     
     } 
}

5.      清空select中的所有选项

@param objSelectId 将要进行清空的目标select组件id
function clearSelect(objSelectId) {  
 var objSelect = document.getElementById(objSelectId);
     if (null != objSelect && typeof(objSelect) != "undefined") {
        for(var i=0;i<objSelect.options.length;) {  
          objSelect.options.remove(i);  
        }         
     } 
}

6. 获取select中的所有item,并且组装所有的值为一个字符串,值与值之间用逗号隔开
 @param objSelectId 目标select组件id
 @return select中所有item的值,值与值之间用逗号隔开
function getAllItemValuesByString(objSelectId) {
 var selectItemsValuesStr = "";
 var objSelect = document.getElementById(objSelectId);
 if (null != objSelect && typeof(objSelect) != "undefined") {
      var length = objSelect.options.length
        for(var i = 0; i < length; i = i + 1) {  
         if (0 == i) {
            selectItemsValuesStr = objSelect.options[i].value;
         } else {
            selectItemsValuesStr = selectItemsValuesStr + "," + objSelect.options[i].value;
         }
        }   
     }  
     return selectItemsValuesStr;
}

7. 将一个select中的所有选中的选项移到另一个select中去
  @param fromObjSelectId  移动item的原select组件id
  @param toObjectSelectId  移动item将要进入的目标select组件id
 function moveAllSelectedToAnotherSelectObject(fromObjSelectId, toObjectSelectId) {  
 var objSelect = document.getElementById(fromObjSelectId);
 var delNum = 0;
     if (null != objSelect && typeof(objSelect) != "undefined") {
        for(var i=0;i<objSelect.options.length;i=i+1) {  
            if(objSelect.options[i].selected) {  
                addOneItemToSelect(toObjectSelectId,objSelect.options[i].text,objSelect.options[i].value)
                objSelect.options.remove(i);
                i = i - 1;
            }
        }         
     } 
}

8. 将一个select中的所有选项移到另一个select中去
 @param fromObjSelectId  移动item的原select组件id
 @param toObjectSelectId  移动item将要进入的目标select组件id
 function moveAllToAnotherSelectObject(fromObjSelectId, toObjectSelectId) {  
 var objSelect = document.getElementById(fromObjSelectId);
     if (null != objSelect) {
      for(var i=0;i<objSelect.options.length;i=i+1) {  
             addOneItemToSelect(toObjectSelectId,objSelect.options[i].text,objSelect.options[i].value)
             objSelect.options.remove(i);
             i = i - 1;
        }   
     } 
}




判断select选项中 是否存在Value="paraValue"的Item 
向select选项中 加入一个Item 
从select选项中 删除一个Item 
删除select中选中的项 
修改select选项中 value
="paraValue"的text为"paraText" 
设置select中text
="paraText"的第一个Item为选中 
设置select中value
="paraValue"的Item为选中 
得到select的当前选中项的value 
得到select的当前选中项的text 
得到select的当前选中项的Index 
清空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;    
        }
    
    }
    
}
      
   
// 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



另:

Js操作Select大全(取值、设置选中等等)




0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 吃东西牙酸怎么办,好慌 牙齿吃什么都酸怎么办 牙上面肉肿了疼怎么办 给牙上药后疼怎么办 牙齿掉了一块疼怎么办 牙酸疼怎么办 立刻止疼 45岁牙松动疼痛怎么办 牙裂开了两半了怎么办 大牙裂了一条缝怎么办 牙掉了一颗怎么办 孩子掉第一颗牙怎么办 大牙齿断了一半怎么办 罗马帘拉绳断了怎么办 窗帘的绳子断了,怎么办 窗帘的拉绳坏了怎么办 窗帘杆掉下来了怎么办 窗帘杆螺丝掉了怎么办 宜家窗帘不够宽怎么办 全棉被套缩水了怎么办 浴巾用久了发硬怎么办 新买衣服有褶皱怎么办 帽子洗了变皱了怎么办 帽子压的有折痕怎么办 帽子被压变形了怎么办 开水把衣服皱了怎么办 衣服被热水烫皱怎么办 开水烫皱了衣服怎么办 衣服被热水烫了怎么办 衣服让热水烫了怎么办 衣服高温烫皱了怎么办 网纱静电卷起来怎么办 裙子上的纱卷了怎么办 裙子的边往上卷怎么办 秋款裙子卷边了怎么办 真丝衣服用肥皂洗了怎么办 粘纤面料水洗了怎么办 考研没动力怎么办知乎 考研看不进去书怎么办 清道夫没吃的了怎么办 金毛身上起疙瘩怎么办 狗身上起红疙瘩怎么办