簡體   English   中英

文本輸入的下拉列表

[英]dropdown list from text input

我什至不知道如何開始,這就是我不添加代碼的原因。 但是我需要使用用戶之前輸入的名稱創建一個下拉名稱,並且我知道如何制作下拉列表,但我不知道如何將用戶輸入的名稱作為下拉列表中的元素。 謝謝你

如果您將名稱存儲在數組中,您可以嘗試類似

 let dropdown = document.querySelector('select') let names = ['john', 'alex', 'alissa', 'sam'] names.forEach(name => { let option = document.createElement('option') option.value = name option.innerText = name dropdown.append(option) })
 <select></select>

創建一個文本input一個buttonselect 單擊按鈕觸發 function 將從輸入中獲取值。創建一個數組來存儲所有文本輸入。 如果數組已經包含通過文本輸入的值,則不要再添加。否則調用 function 進行文本輸入並刪除空格。 然后調用另一個 function 將遍歷此數組,並且在每次迭代期間,它將使用document.createElement創建一個option ,並將 append 本身到 select。

 let optionArray = []; function addToOption() { const inputValue = document.getElementById("userName").value.trim(); if (optionArray.indexOf(inputValue) === -1) { optionArray.push(inputValue) } addToSelect(); } function addToSelect() { if (optionArray.length === 0) { return; } const selectBox = document.getElementById('selectOption'); selectBox.innerHTML = ''; optionArray.forEach((item) => { const elem = document.createElement('option'); const optionText = document.createTextNode(item); elem.appendChild(optionText); elem.id = optionText; selectBox.appendChild(elem) }) }
 <input type="text" id="userName"> <button type="button" onClick="addToOption()">Add</button> <select id="selectOption"></select>

這是 Jquery 代碼示例:

<!DOCTYPE html>
<html>
<head>
    <title>Update list item</title>
    <script
      src="https://code.jquery.com/jquery-3.5.1.min.js"
      integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0="
      crossorigin="anonymous">
      </script>
    
</head>
<body>

    <input type="text" name="listitem" id="content">
    <button id="updateBtn">Add to list</button>
    <hr>
    <select id="listelement">
        <option>test option</option>
    </select>
        

    <script type="text/javascript">
        $(document).ready(function(){
            $("#updateBtn").click(function(){
                var content=$("#content").val();
                var listitem='<option>'+content+'</option>';
                $("#listelement").append(listitem); 
        });
});
    </script>
</body>
</html>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM