[英]Using Javascript with HTML drop-down select
我在使用 javascript 的下拉列表中的數據時遇到問題。 我希望它根據選擇的內容在頁面上打印出來,但是到目前為止,當他們 select 一個值時,什么都沒有發生。 我是javasript的新手,請幫助:
<form>
<select name="abc" id="abc" onChange="check(this.form)">
<option value="a">A</option>
<option value="b">B</option>
<option value="c">C</option>
</select>
</form>
<script>
function check (form){
var letter = document.getElementsById("abc");
var userLtr = letter.options[letter.selectedIndex].value;
if (userLtr == "a"){
document.write ("You selected A");
}
else if(userLtr == "b"){
document.write ("You selected B");
}
else{
document.write ("You selected C");
}
}
</script>
編輯:謝謝大家的幫助。 我已經想通了!!
<script>
部分中的代碼僅在頁面准備好時執行。 您需要在 select 標簽和 function 上使用類似onchange
的東西來處理它。 onchange 事件。 getDocumentId
應該是getDocumentById
,您可以在此處查看相關文檔。
<select name="abc" id="abc" onchange="handleChange()">
<option value="a">A</option>
<option value="b">B</option>
<option value="c">C</option>
</select>
<script>
function handleChange() {
var letter = document.getElementById("abc");
var userLtr = letter.options[letter.selectedIndex].value;
if(userLtr == "a"){
document.write("You selected A");
}
}
</script>
以下是您將如何執行此操作:
<select name="abc" id="abc">
<option value="a">A</option>
<option value="b">B</option>
<option value="c">C</option>
</select>
<div id="text"></div>
<script>
document.getElementById("abc").onchange = function () {
if (this.value === "a")
{
document.querySelector("#text").innerHTML = "You selected A!";
}
};
</script>
您忘記了“getElementById”中的“by”。
如果您添加一個鏈接到 javascript function 的 onchange 事件偵聽器,該偵聽器將寫入 div,然后您可以使用模板字符串來顯示選擇了哪個選項,如下所示。
function changedFunc() { var letter = document.getElementById("abc"); var userLtr = letter.options[letter.selectedIndex].value; document.querySelector('#write-target').innerText =`You selected ${userLtr}`; } changedFunc();
<select name="abc" id="abc" onchange="changedFunc()"> <option value="a">A</option> <option value="b">B</option> <option value="c">C</option> </select> <div id="write-target"></div>
除了getElementById
上的錯字之外,您還應該向 select 元素添加一個事件偵聽器:
<script>
var letter = document.getElementById("abc");
letter.addEventListener('change', handleSelect)
function handleSelect(e) {
var userLtr = letter.options[letter.selectedIndex].value;
if(userLtr == "a"){
document.write("You selected A");
}
}
</script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.