分享java帶來的快樂

          我喜歡java新東西

          Javascript 操作select控件大全(新增、修改、刪除、選中、清空、判斷存在等)

           

          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>

          posted on 2011-03-24 00:02 強強 閱讀(421) 評論(0)  編輯  收藏 所屬分類: web技巧

          主站蜘蛛池模板: 迭部县| 蓝山县| 全州县| 九龙坡区| 福清市| 克拉玛依市| 桃源县| 陇西县| 嘉峪关市| 碌曲县| 壤塘县| 德钦县| 枣阳市| 兴山县| 灵石县| 腾冲县| 分宜县| 怀安县| 阿坝县| 南宫市| 徐闻县| 金华市| 凤冈县| 扎兰屯市| 枣阳市| 井陉县| 宜丰县| 桑植县| 贞丰县| 陇南市| 赤城县| 林西县| 颍上县| 荥阳市| 温州市| 乐安县| 汽车| 伊通| 曲麻莱县| 察雅县| 甘洛县|