1 回答

TA貢獻1943條經驗 獲得超7個贊
您不會將其更改select為文本框。相反,您將同時擁有一個select和一個文本框。該復選框將簡單地確定顯示哪個。
此外,您select應該包含一個被認為無效的第一選擇,這樣您就不會得到用戶沒有選擇的提交值。
.hidden { display:none; }
<input type="checkbox" id="check">Check to enter text directly
<div class="dropdown">
<select id="test" name="producent" class="dropdown-select">
<option value="">--- Choose ---</option>
<option value="Apple">Apple</option>
<option value="Samsung">Samsung</option>
<option value="Lenovo">Lenovo</option>
</select>
<input id="data" class="hidden">
</div>
<script>
let text = document.getElementById('data');
let check = document.getElementById("check");
let select = document.getElementById("test");
// You must set up your function to handle the
// click event of the checkbox
check.addEventListener("click", Zmiana);
function Zmiana(){
// Add or remvoe the hidden class based on
// whether it's already in use
select.classList.toggle("hidden");
text.classList.toggle("hidden");
}
</script>
添加回答
舉報