整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          JS下拉欄(萌新版)

          JS下拉欄(萌新版)
          <!DOCTYPE html>
          <html lang="en">
          
          <head>
              <meta charset="UTF-8">
              <meta http-equiv="X-UA-Compatible" content="IE=edge">
              <meta name="viewport" content="width=device-width, initial-scale=1.0">
              <title>js下拉欄</title>
              <style>
                  *{
                      margin: 0;
                      padding: 0;
                  }
                  li{
                      list-style: none;
                      text-align: center;
                  }
                  .box>ul{
                      width: 120px;
                      background-color: gray;
                  }
                  .box>li {
                      width: 120px;
                      display: inline-block;
                      background-color: aqua;
                      position: relative;
                  }
                  .box>li>ul{
                      width: 120px;
                      position: absolute;
                      display: none;
                      background-color: pink;
                  }
                  .box>li>ul>li:hover{
                      background-color: deeppink;
                  }
              </style>
          </head>
          
          <body>
              <ul class="box">
                  <li>asdf
                      <ul>
                          <li>1</li>
                          <li>2</li>
                          <li>3</li>
                      </ul>
                  </li>
                  <li>asdf
                      <ul>
                          <li>4</li>
                          <li>5</li>
                          <li>6</li>
                      </ul>
                  </li>
                  <li>asdf
                      <ul>
                          <li>7</li>
                          <li>8</li>
                          <li>9</li>
                      </ul>
                  </li>
              </ul>
          </body>
          
          </html>
          <script>
              let $=element=> document.getElementsByClassName(element.substring(1, element.length));
              var lis=$(".box")[0].children;
              for (let i=0; i < lis.length; i++) {
                  lis[i].onmouseover=function () {
                      this.getElementsByTagName('ul')[0].style.display='block';
                  }
                  lis[i].onmouseout=function () {
                      this.getElementsByTagName('ul')[0].style.display='none';
                  }
              }
          </script>

          現效果

          代碼:

          拉菜單的屬性

          length 表示選項<option>的個數

          selected 布爾值,表示選項<option>是否被選中

          SelectedIndex 被選中的選項序號,如果沒有被選中則為-1,對于多選下拉菜單而言,返回被選中的第一個選項序號。從0開始計數

          text 選項的文本(它是option專有的屬性)

          value 選項的value值

          type 下拉菜單的類型。單選返回select-one,多選返回select-multiple

          options 獲取選項的數組,列如oSelectBox.options[2]表示下拉菜單oSelectBox中的第3項

          訪問選中項

          下拉菜單(單選):

          <html>
          <head>
          <title>下拉菜單,單選</title>
          <style>
          <!--
          form{
          padding:0px; margin:0px;
          font:14px Arial;
          }
          -->
          </style>
          <script language="javascript">
          function checkSingle(){
              var oForm=document.forms["myForm1"];
              var oSelectBox=oForm.constellation;
              var iChoice=oSelectBox.selectedIndex; //獲取選中項
              alert("您選中了" + oSelectBox.options[iChoice].text); //下拉菜單,單選
          }
          </script>
          </head>
          <body>
          <form method="post" name="myForm1">
          <label for="constellation">星座:</label>
          <p>
          <select id="constellation" name="constellation">
          <option value="Aries" selected="selected">白羊</option>
          <option value="Taurus">金牛</option>
          <option value="Gemini">雙子</option>
          <option value="Cancer">巨蟹</option>
          <option value="Leo">獅子</option>
          <option value="Virgo">處女</option>
          <option value="Libra">天秤</option>
          <option value="Scorpio">天蝎</option>
          <option value="Sagittarius">射手</option>
          <option value="Capricorn">摩羯</option>
          <option value="Aquarius">水瓶</option>
          <option value="Pisces">雙魚</option>
          </select>
          </p>
          <input type="button" onclick="checkSingle()" value="查看選項" />
          </form>
          </body>
          </html>

          下拉菜單(多選):

          <html>
          <head>
          <title>下拉菜單,多選</title>
          <style>
          <!--
          form{
          padding:0px; margin:0px;
          font:14px Arial;
          }
          p{
          margin:0px; padding:2px;
          }
          -->
          </style>
          <script language="javascript">
          function checkMultiple(){
          var oForm=document.forms["myForm1"];
          var oSelectBox=oForm.constellation;
          var aChoices=new Array();
          //遍歷整個下拉菜單
          for(var i=0;i<oSelectBox.options.length;i++)
          if(oSelectBox.options[i].selected) //如果被選中
          aChoices.push(oSelectBox.options[i].text); //壓入到數組中,可以用于單選的情況;
          alert("您選了:" + aChoices.join()); //輸出結果
          }
          </script>
          </head>
          <body>
          <form method="post" name="myForm1">
          <label for="constellation">星座:</label>
          <p>
          <select id="constellation" name="constellation" multiple="multiple" style="height:180px;">
          <option value="Aries">白羊</option>
          <option value="Taurus">金牛</option>
          <option value="Gemini">雙子</option>
          <option value="Cancer">巨蟹</option>
          <option value="Leo">獅子</option>
          <option value="Virgo">處女</option>
          <option value="Libra">天秤</option>
          <option value="Scorpio">天蝎</option>
          <option value="Sagittarius">射手</option>
          <option value="Capricorn">摩羯</option>
          <option value="Aquarius">水瓶</option>
          <option value="Pisces">雙魚</option>
          </select>
          </p>
          <input type="button" onclick="checkMultiple()" value="查看選項" />
          </form>
          </body>
          </html>

          通用的訪問下拉菜單選中項的方法:

          <script language="javascript">
          function getSelectValue(Box){ //Box參數select標簽的ID值
              var oForm=document.forms["myForm1"];
              var oSelectBox=oForm.elements[Box]; //根據參數相應的選擇下拉菜單
              if(oSelectBox.type=="select-one"){ //判斷是單選還是多選
              var iChoice=oSelectBox.selectedIndex; //獲取選中項
              alert("單選,您選中了" + oSelectBox.options[iChoice].text);
              }else{
              var aChoices=new Array();
              //遍歷整個下拉菜單
              for(var i=0;i<oSelectBox.options.length;i++)
              if(oSelectBox.options[i].selected) //如果被選中
              aChoices.push(oSelectBox.options[i].text); //壓入到數組中
              alert("多選,您選了:" + aChoices.join()); //輸出結果
              }
          }
          </script>

          函數使用方法:

          <select id="constellation1" name="constellation1">
          <option value="Aries" selected="selected">白羊</option>
          <option value="Taurus">金牛</option>
          <option value="Gemini">雙子</option>
          <option value="Cancer">巨蟹</option>
          <option value="Leo">獅子</option>
          <option value="Virgo">處女</option>
          <option value="Libra">天秤</option>
          <option value="Scorpio">天蝎</option>
          <option value="Sagittarius">射手</option>
          <option value="Capricorn">摩羯</option>
          <option value="Aquarius">水瓶</option>
          <option value="Pisces">雙魚</option>
          </select>
          <input type="button" onclick="getSelectValue('constellation1')" value="查看選項" />

          添加、替換、刪除選項

          通過構造函數Option()直接添加value、text等信息,相當方便

          var oOption=new Option(text,value,defaultSelected,selected)

          defaultSelected為布爾型值:1(true)設置下拉式表單默認值,

          selected為布爾值:1(true)表示被選中

          最后兩項默認值為0,如果不希望添加的選項被默認選中則可以忽略,添加選項時通常將<select>列表的第length項直接設置為新的選項,即在末尾增加。

          添加選項:

          <html>
          <head>
          <title>添加選項</title>
          <style>
          <!--
          form{padding:0px; margin:0px; font:14px Arial;}
          p{margin:0px; padding:3px;}
          input{margin:0px; border:1px solid #000000;}
          -->
          </style>
          <script language="javascript">
          function AddOption(Box){ //添加選項,參數為<select>標簽的ID值
              var oForm=document.forms["myForm1"];
              var oBox=oForm.elements[Box];
              var oOption=new Option("乒乓球","Pingpang");
              oBox.options[oBox.options.length]=oOption; //在菜單末尾添加選項
          }
          </script>
          </head>
          <body>
          <form method="post" name="myForm1">
          球類:
          <p>
          <select id="ball" name="ball" multiple="multiple">
          <option value="Football">足球</option>
          <option value="Basketball">籃球</option>
          <option value="Volleyball">排球</option>
          </select>
          </p>
          <input type="button" value="添加乒乓球" onclick="AddOption('ball');" />
          </form>
          </body>
          </html>

          替換選項

          如果下拉菜單中的序號為已經存在了的選項,添加時則會自動替換原有的選項

          oBox.options[iNum]=oOption;//替換iNum個選項

          <html>
          <head>
          <title>替換選項</title>
          <style>
          <!--
          form{padding:0px; margin:0px; font:14px Arial;}
          p{margin:0px; padding:3px;}
          input{margin:0px; border:1px solid #000000;}
          -->
          </style>
          <script language="javascript">
          function ReplaceOption(Box,iNum){ //替換選項,參數Box為<select>的ID值,iNum為替換的選項序號;
          var oForm=document.forms["myForm1"];
          var oBox=oForm.elements[Box];
          var oOption=new Option("乒乓球","Pingpang");
          oBox.options[iNum]=oOption; //替換第iNum個選項
          }
          </script>
          </head>
          <body>
          <form method="post" name="myForm1">
          球類:
          <p>
          <select id="ball" name="ball" multiple="multiple">
          <option value="Football">足球</option>
          <option value="Basketball">籃球</option>
          <option value="Volleyball">排球</option>
          </select>
          </p>
          <input type="button" value="籃球替換為乒乓球" onclick="ReplaceOption('ball',1);" />
          </form>
          </body>
          </html>

          添加選項到具體位置

          <html>
          <head>
          <title>添加到具體位置</title>
          <style>
          <!--
          form{padding:0px; margin:0px; font:14px Arial;}
          p{margin:0px; padding:3px;}
          input{margin:0px; border:1px solid #000000;}
          -->
          </style>
          <script language="javascript">
          function AddOption(Box,iNum){
          var oForm=document.forms["myForm1"];
          var oBox=oForm.elements[Box];
          var oOption=new Option("乒乓球","Pingpang");
          oBox.insertBefore(oOption,oBox.options[iNum]);
          }
          </script>
          </head>
          <body>
          <form method="post" name="myForm1">
          球類:
          <p>
          <select id="ball" name="ball" multiple="multiple">
          <option value="Football">足球</option>
          <option value="Basketball">籃球</option>
          <option value="Volleyball">排球</option>
          </select>
          </p>
          <input type="button" value="添加乒乓球" onclick="AddOption('ball',1);" />
          </form>
          </body>
          </html>

          以上代碼IE7中雖然在正確的位置插入了選項,但內容卻沒有顯示出來(bug問題)

          兼容性更好的代碼,使用方法與以上相同;

          <script language="javascript">
          function AddOption(Box,iNum){
              var oForm=document.forms["myForm1"];
              var oBox=oForm.elements[Box];
              var oOption=new Option("乒乓球","Pingpang");
              //兼容IE7,先添加選項到最后,再移動
              oBox.options[oBox.options.length]=oOption;
              oBox.insertBefore(oOption,oBox.options[iNum]);
          }
          </script>

          注意:IE9已經解決了bug問題

          刪除下拉菜單的選項:

          刪除下拉菜單中的某個選項時相對最簡單的,只需要將這個選項設置為null即可

          bBox.options[iNum]=null;


          主站蜘蛛池模板: 国产精品熟女一区二区| 伊人久久精品无码麻豆一区| 亚洲午夜日韩高清一区 | AV天堂午夜精品一区二区三区| 亚洲一区二区三区免费| 无码日韩AV一区二区三区| 一区二区三区精密机械| 色一乱一伦一图一区二区精品| 一区二区不卡视频在线观看 | 国产亚洲一区二区手机在线观看| 日韩一区在线视频| 国产精品久久无码一区二区三区网| 精品视频一区二区三三区四区| 亚洲乱码日产一区三区| 中文字幕av无码一区二区三区电影| 波多野结衣中文字幕一区二区三区| 亚洲AV一区二区三区四区| 蜜桃无码一区二区三区| 久久er99热精品一区二区 | 天堂va视频一区二区| 亚洲av无一区二区三区| 波多野结衣AV一区二区三区中文 | 精品欧洲av无码一区二区 | 一区二区在线播放视频| 一区二区三区杨幂在线观看| 无码日韩精品一区二区人妻 | 色偷偷av一区二区三区| 少妇无码一区二区三区免费| 乱精品一区字幕二区| 在线观看日本亚洲一区| 大香伊蕉日本一区二区| 亚洲一区精品伊人久久伊人 | 成人免费一区二区无码视频 | 99久久综合狠狠综合久久一区| 无码日韩精品一区二区免费暖暖| 无码视频一区二区三区在线观看 | 亚洲香蕉久久一区二区三区四区| 日本一区二区三区免费高清 | 无码国产精品一区二区免费模式| 亚洲丰满熟女一区二区v| 亚洲AV无码一区二区一二区|