亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何更改選擇列表js中的選項

如何更改選擇列表js中的選項

Smart貓小萌 2022-01-13 16:58:38
我有一個選擇列表的更改事件,我必須在用戶選擇一個選項后通過提示窗口詢問用戶,他要選擇的另一個選項是什么,然后在提示窗口中介紹該值,選擇的選項隨新的而改變。<!DOCTYPE html><html><head>    <meta charset="UTF-8">    <title>Examen modulo1</title>    <script>        function cambiaSelect() {            var provincias = document.getElementById("provincias");            var posicion = provincias.selectedIndex;            var select = provincias.options[posicion].value;            var pantalla;            // when prompt value is 0            if (provincias.options[posicion].value == 0) {                alert("No has seleccionado ninguna provincia");            } else {                // when index is selected                if (provincias.options[posicion].selected == true) {                    pantalla = prompt("Has seleccionado la provincia: " + provincias.options[posicion].text + "\n Introduce otra provincia aqui:");                }                // when prompt do not receive a value                if (pantalla == "") {                    alert("El valor que has introducido no existe!\Intentalo de nuevo!");                }                //prompt equals the selected value                if (select == pantalla && provincias.options[posicion].selected == true) {                    alert("Esa provincia ya esta seleccionada");                }            }        }//cambia    </script></head><body>4.Formulario de tipo select. Selecciona provincias:<br><form method="GET">    <br>    <select id="provincias">        <option value="0">0.Selecciona...</option>        <option value="1">1.Albacete</option>        <option value="2">2.Murcia</option>        <option value="3">3.Madrid</option>    </select><br>    <br>    <input type="button" value="Cambiar" onclick="cambiaSelect()"><br>    <br>    <br></form></body></html>
查看完整描述

1 回答

?
達令說

TA貢獻1821條經驗 獲得超6個贊

您可以通過單擊“運行代碼片段”來運行下面的代碼。如果用戶輸入 3,選擇的選項將變為“3.Madrid”。西班牙語讓我很困惑,所以我把它換成了英語,但編程邏輯是一樣的。


<form method="GET">

  <br>

  <select id="provincias">

    <option value="0">0.Selecciona...</option>

    <option value="1">1.Albacete</option>

    <option value="2">2.Murcia</option>

    <option value="3">3.Madrid</option>

  </select>

  <br>

  <input type="button" value="Cambiar" onclick="cambiaSelect()">


</form>


<script>

  function cambiaSelect() {

    var provinces = document.getElementById("provincias");

    var position = provinces.selectedIndex;

    var select = provinces.options[position].value;

    var pantalla;


    if (provinces.options[position].value == 0) {

      alert("You have not selected any province");

    } else {

      if (provinces.options[position].selected == true) {

        pantalla = prompt("You have selected the province: " + provinces.options[position].text + "\n Choose another province here");

        while (true) {

          if (pantalla) { // this ensures that if the user clicks cancel on the prompt, we don't do any more logic

            if (pantalla === "") {

              alert("The value you entered does not exist. Try again!");

            } else if (select === pantalla) {

              alert("That province is already selected");

            } else if (pantalla >= 1 && pantalla <= 3) {

              document.getElementById('provincias').selectedIndex = pantalla;

              break;

            }

            pantalla = prompt("Choose another province here");

          } else { // if the cancel button on prompt was pressed, get out of loop

            break;

          }

        }

      }

    }

  }

</script>


唯一的問題是如果用戶輸入了一個介于 1 和 3 之間的不是整數的數字,比如 2.5。2.5 不是一個合適的索引,對吧?因此,如果您想處理這種情況,可以添加以下修改:


else if (Number.isInteger(Number(pantalla)) && pantalla >= 1 && pantalla <= 3). 如果您有更多問題,請告訴我。


查看完整回答
反對 回復 2022-01-13
  • 1 回答
  • 0 關注
  • 204 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號