在 HTML 中,單選按鈕允許開發人員為選擇建立多個選項。使用者可以選擇任一個選項,我們可以取得其值並了解使用者在多個選項中選擇了哪個選項。
因此,檢查使用者選擇哪個單選按鈕以了解他們從多個選項中做出的選擇非常重要。讓我們透過現實生活中的例子來理解它。當您填寫任何表格並要求選擇性別時,您可以看到他們給您三個選項,而您只能選擇一個。
在本教學中,我們將學習兩種使用 JavaScript 檢查單選按鈕是否被選擇的方法。
我們可以使用各種方法來存取 JavaScript 中的 radio 元素。之後,我們可以使用其checked屬性來檢查所選單選按鈕是否已選取。如果checked屬性的值為true,則表示該單選按鈕已選取;否則不被選取。
使用者可以依照下列語法使用radio元素的checked屬性檢查radio按鈕是否被選取。
<input type = "radio" name = "radio" value = "male" id = "radio1" > Male</input> <script> let radio1 = document.getElementById('radio1'); if(radio1.checked){ // radio1 is checked } </script>
在上面的語法中,我們使用單選按鈕的 id 存取單選按鈕,並使用 checked 屬性來檢查 if 語句中是否選擇了單選按鈕。
在下面的範例中,我們建立了三個包含不同值的單選按鈕,例如男性、女性等。在 JavaScript 中,我們透過 ID 存取每個單選按鈕,並檢查每個單選按鈕的「checked」屬性的值。
當使用者選擇任何單選按鈕並點擊該按鈕時,他們會看到一則訊息,顯示所選單選按鈕的值。
<html> <body> <h3>Using the <i>checked property</i> of the radio button to check whether a radio button is selected.</h3> <input type = "radio" name = "radio" value = "male" id = "radio1" > Male </input> <br> <input type = "radio" name = "radio" value = "female" id = "radio2" > Female </input><br> <input type = "radio" name = "radio" value = "other" id = "radio3" /> Other </input> <p id = "output"> </p> <button onclick = "checkRadio()"> Check radio </button> <script> let output = document.getElementById("output"); function checkRadio(){ // accessing the radio buttons let radio1 = document.getElementById('radio1'); let radio2 = document.getElementById('radio2'); let radio3 = document.getElementById('radio3'); // checking if any radio button is selected if(radio1.checked){ output.innerHTML = "The radio button with value " + radio1.value + " is checked!"; } if(radio2.checked){ output.innerHTML = "The radio button with value " + radio2.value + " is checked!"; } if(radio3.checked){ output.innerHTML = "The radio button with value " + radio3.value + " is checked!"; } } </script> </body> </html>
下面的範例與上面的範例幾乎相同,但不同之處在於我們一次使用其名稱存取所有單選按鈕。 getElementByName() 方法傳回所有名為 radio 的單選元素。
之後,我們使用 for-of 記憶體遍歷單選按鈕數組,並使用「checked」屬性檢查每個單選按鈕是否被選取。
<html> <body> <h3>Using the <i>checked property</i> of the radio button to check whether a radio button is selected</h3> <input type = "radio" name = "radio" value = "10" id = "radio1"> 10 </input> <br> <input type = "radio" name = "radio" value = "20" id = "radio2"> 20 </input> <br> <input type = "radio" name = "radio" value = "30" id = "radio3" /> 30 </input> <p id = "output"> </p> <button onclick = "getSelectedRadio()"> Check radio </button> <script> let output = document.getElementById("output"); function getSelectedRadio() { let radioButtons = document.getElementsByName('radio'); for (let radio of radioButtons) { if (radio.checked) { output.innerHTML = "The radio button is selected and it's value is " + radio.value; } } } </script> </body> </html>
程式設計師可以使用 JavaScript 的 querySelector() 方法來選擇任何 HTML 元素。在這裡,我們使用 querySelector() 方法僅選擇選取的單選按鈕。如果沒有選擇單選按鈕,則傳回空值。
使用者可以依照下面的語法使用querySelector()方法來檢查單選按鈕是否被選取。
var selected = document.querySelector('input[name="year"]:checked');
在上面的語法中,「year」是單選按鈕群組的名稱,它傳回屬於「year」群組並被選中的任何單選按鈕。
在下面的範例中,我們建立了三個單選按鈕,為使用者提供三種不同的選擇。當使用者按一下「檢查所選年份」按鈕時,它會呼叫 getSelectedRadio() 函數,該函數使用 querySelector() 方法選擇名為「year」的單選按鈕,並從 DOM 中進行檢查。
使用者無需選擇任何單選按鈕即可點擊按鈕並觀察輸出。
<html> <body> <h3>Using the <i> querySelector() method </i> to check whether a radio button is selected.</h3> <input type = "radio" name = "year" value = "1999" id = "radio1"> 1999 </input><br> <input type = "radio" name = "year" value = "2021" id = "radio2"> 2021 </input><br> <input type = "radio" name = "year" value = "2001" id = "radio3" /> 2001 </input> <p id="output"></p> <button onclick="getSelectedRadio()">Check selected year</button> <script> let output = document.getElementById("output"); function getSelectedRadio() { var selected = document.querySelector( 'input[name="year"]:checked'); if (selected) { output.innerHTML += "Radio button is selected." } else { output.innerHTML += "Not any radio button is selected!" } } </script> </body> </html>
使用者學習了兩種不同的方法來使用 JavaScript 取得選取的單選按鈕。最好的方法是使用 querySelector() 方法,因為我們只需要編寫一行程式碼。
以上是如何使用 JavaScript 檢查單選按鈕是否被選取?的詳細內容。更多資訊請關注PHP中文網其他相關文章!