Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 亚洲精品电影久久久影院,国产偷窥女洗浴在线观看,日韩精品网址

          整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          如何用JavaScript自動(dòng)設(shè)置下拉菜單的選項(xiàng)?

          嘍,小伙伴們!今天我們來聊一聊前端開發(fā)中的一個(gè)小技巧:如何用JavaScript自動(dòng)設(shè)置下拉菜單的選項(xiàng)。你是不是也遇到過這樣的需求?比如一個(gè)注冊(cè)表單,根據(jù)用戶選擇的國家自動(dòng)填充城市列表。那么,如何實(shí)現(xiàn)呢?跟我一起來看看吧!

          業(yè)務(wù)場(chǎng)景

          想象一下,你正在開發(fā)一個(gè)旅游網(wǎng)站。用戶在選擇國家時(shí),希望自動(dòng)顯示該國家的城市列表。我們可以通過JavaScript來實(shí)現(xiàn)這一動(dòng)態(tài)效果。下面我們具體講解兩種實(shí)現(xiàn)方式。

          方法一:設(shè)置value屬性

          這種方法簡(jiǎn)單粗暴,直接上代碼!

          首先,我們有一個(gè)簡(jiǎn)單的下拉菜單HTML:

          <select id="country-select">
            <option value="china">China</option>
            <option value="usa">USA</option>
            <option value="france">France</option>
          </select>
          
          <select id="city-select">
            <option value="beijing">Beijing</option>
            <option value="shanghai">Shanghai</option>
            <option value="guangzhou">Guangzhou</option>
          </select>

          現(xiàn)在,我們想要默認(rèn)選中“China”和“Shanghai”,可以這樣寫:

          const countrySelect = document.querySelector('#country-select')
          countrySelect.value = 'china'
          
          const citySelect = document.querySelector('#city-select')
          citySelect.value = 'shanghai'

          是不是很簡(jiǎn)單?我們用querySelector找到select元素,然后設(shè)置它們的value屬性為我們想要的選項(xiàng)值。頁面一加載,“China”和“Shanghai”就被選中了。

          方法二:設(shè)置selected屬性

          另一種方法是設(shè)置具體選項(xiàng)的selected屬性。這種方法同樣很直接,適合初學(xué)者理解。

          依然使用剛才的HTML代碼:

          <select id="country-select">
            <option value="china">China</option>
            <option value="usa">USA</option>
            <option value="france">France</option>
          </select>
          
          <select id="city-select">
            <option value="beijing">Beijing</option>
            <option value="shanghai">Shanghai</option>
            <option value="guangzhou">Guangzhou</option>
          </select>

          我們通過以下JavaScript代碼來實(shí)現(xiàn):

          const countrySelect = document.querySelector('#country-select')
          countrySelect.options[0].selected = true // China 是第一個(gè)選項(xiàng)
          
          const citySelect = document.querySelector('#city-select')
          citySelect.options[1].selected = true // Shanghai 是第二個(gè)選項(xiàng)

          在這里,我們獲取到所有的option元素,并通過索引來設(shè)置具體的選項(xiàng)。由于“China”是第一個(gè)選項(xiàng),它的索引是0;“Shanghai”是第二個(gè)選項(xiàng),它的索引是1。我們把它們的selected屬性設(shè)置為true,這樣頁面加載時(shí)“China”和“Shanghai”就被選中了。

          結(jié)尾

          怎么樣,是不是很簡(jiǎn)單?通過這兩種方法,你可以輕松實(shí)現(xiàn)下拉菜單的自動(dòng)選中功能。如果你有其他的業(yè)務(wù)場(chǎng)景,比如根據(jù)用戶選擇的不同項(xiàng)目自動(dòng)填充不同的內(nèi)容,這兩種方法都能幫你輕松搞定!

          拉菜單的屬性

          length 表示選項(xiàng)<option>的個(gè)數(shù)

          selected 布爾值,表示選項(xiàng)<option>是否被選中

          SelectedIndex 被選中的選項(xiàng)序號(hào),如果沒有被選中則為-1,對(duì)于多選下拉菜單而言,返回被選中的第一個(gè)選項(xiàng)序號(hào)。從0開始計(jì)數(shù)

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

          value 選項(xiàng)的value值

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

          options 獲取選項(xiàng)的數(shù)組,列如oSelectBox.options[2]表示下拉菜單oSelectBox中的第3項(xiàng)

          訪問選中項(xiàng)

          下拉菜單(單選):

          <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; //獲取選中項(xiàng)
              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="查看選項(xiàng)" />
          </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();
          //遍歷整個(gè)下拉菜單
          for(var i=0;i<oSelectBox.options.length;i++)
          if(oSelectBox.options[i].selected) //如果被選中
          aChoices.push(oSelectBox.options[i].text); //壓入到數(shù)組中,可以用于單選的情況;
          alert("您選了:" + aChoices.join()); //輸出結(jié)果
          }
          </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="查看選項(xiàng)" />
          </form>
          </body>
          </html>

          通用的訪問下拉菜單選中項(xiàng)的方法:

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

          函數(shù)使用方法:

          <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="查看選項(xiàng)" />

          添加、替換、刪除選項(xiàng)

          通過構(gòu)造函數(shù)Option()直接添加value、text等信息,相當(dāng)方便

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

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

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

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

          添加選項(xiàng):

          <html>
          <head>
          <title>添加選項(xiàng)</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){ //添加選項(xiàng),參數(shù)為<select>標(biāo)簽的ID值
              var oForm = document.forms["myForm1"];
              var oBox = oForm.elements[Box];
              var oOption = new Option("乒乓球","Pingpang");
              oBox.options[oBox.options.length] = oOption; //在菜單末尾添加選項(xiàng)
          }
          </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>

          替換選項(xiàng)

          如果下拉菜單中的序號(hào)為已經(jīng)存在了的選項(xiàng),添加時(shí)則會(huì)自動(dòng)替換原有的選項(xiàng)

          oBox.options[iNum]=oOption;//替換iNum個(gè)選項(xiàng)

          <html>
          <head>
          <title>替換選項(xiàng)</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){ //替換選項(xiàng),參數(shù)Box為<select>的ID值,iNum為替換的選項(xiàng)序號(hào);
          var oForm = document.forms["myForm1"];
          var oBox = oForm.elements[Box];
          var oOption = new Option("乒乓球","Pingpang");
          oBox.options[iNum] = oOption; //替換第iNum個(gè)選項(xiàng)
          }
          </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>

          添加選項(xiàng)到具體位置

          <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中雖然在正確的位置插入了選項(xiàng),但內(nèi)容卻沒有顯示出來(bug問題)

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

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

          注意:IE9已經(jīng)解決了bug問題

          刪除下拉菜單的選項(xiàng):

          刪除下拉菜單中的某個(gè)選項(xiàng)時(shí)相對(duì)最簡(jiǎn)單的,只需要將這個(gè)選項(xiàng)設(shè)置為null即可

          bBox.options[iNum]=null;

          現(xiàn)效果

          代碼:


          主站蜘蛛池模板: 久久国产精品免费一区二区三区| 日韩精品中文字幕无码一区| 一区二区三区精品高清视频免费在线播放 | 毛片一区二区三区无码| 亚洲一区二区高清| 最新中文字幕一区二区乱码| 日韩精品无码一区二区视频| 一区二区视频免费观看| 亚洲av日韩综合一区久热| 无码一区二区三区免费| av无码人妻一区二区三区牛牛| 国产精品综合一区二区三区| 无码中文字幕乱码一区| 精品亚洲AV无码一区二区三区| 性色av一区二区三区夜夜嗨| 国产一区二区精品久久岳| 一区二区三区视频网站| 精品理论片一区二区三区| 国产精品一区二区久久乐下载| 亚洲国产一区二区三区在线观看| 亚洲Av高清一区二区三区| 亚欧免费视频一区二区三区| 亚洲一区二区三区国产精品无码| 亚洲第一区香蕉_国产a| 骚片AV蜜桃精品一区| 乱码精品一区二区三区| 一区高清大胆人体| 亚洲欧美一区二区三区日产| 亚洲一区二区三区精品视频| 国产乱人伦精品一区二区| 人妻互换精品一区二区| 国产在线精品一区二区在线看| 秋霞电影网一区二区三区| 色系一区二区三区四区五区| 四虎一区二区成人免费影院网址| 亚洲国产成人久久一区WWW | 在线免费观看一区二区三区| 亚洲国产成人久久一区二区三区 | 亚洲国产综合精品中文第一区| 国产高清视频一区三区| 人妻无码一区二区三区AV|