簡體   English   中英

如何獲取返回值的選定單選按鈕的值

[英]How to get value of selected radio button returning the value

我以前嘗試過其他帖子上的示例,但是它們都沒有用嗎?

這是代碼。

 function sumvalnotset(modelbtn) { var model; for (var i = 0; i < modelbtn.length; i++) { if(modelbtn[i].checked) { model = modelbtn[i].value; break; } } var p = document.getElementById("sumvalnotset"); p.innerHTML = "the value is " + model } 
 <body> <div> <p>Select:</p> <input class="modelbtn" name="genoptradio1" type="radio" value="22,8" onclick="sumvalnotset('genoptradio1')">example1 <input class="modelbtn" name="genoptradio1" type="radio" value="29,6" onclick="sumvalnotset('genoptradio1')">example2 <input class="modelbtn" name="genoptradio1" type="radio" value="34,2" onclick="sumvalnotset('genoptradio1')">example3 <input class="modelbtn" name="genoptradio1" type="radio" value="31,2" onclick="sumvalnotset('genoptradio1')">example4 </div> <p id="sumvalnotset">the value is 0</p> </body> 

您可以通過傳遞this來簡化它。 從事件中,您可以獲取defaultValue或just value

 function sumvalnotset(e) { var model = e.defaultValue; var p = document.getElementById("sumvalnotset"); p.innerHTML = "the value is " + model } 
 <body> <div> <p>Select:</p> <input class="modelbtn" name="genoptradio1" type="radio" value="22,8" onclick="sumvalnotset(this)">example1 <input class="modelbtn" name="genoptradio1" type="radio" value="29,6" onclick="sumvalnotset(this)">example2 <input class="modelbtn" name="genoptradio1" type="radio" value="34,2" onclick="sumvalnotset(this)">example3 <input class="modelbtn" name="genoptradio1" type="radio" value="31,2" onclick="sumvalnotset(this)">example4 </div> <p id="sumvalnotset">the value is 0</p> </body> 

在作為按鈕的價值交給試試this ,然后在你的函數訪問值,如下所示:

  function sumvalnotset(modelbtn){ // here you access the actual value of the clicked radio button const value = modelbtn.value; alert(value); } 
 <body> <div> <p>Select:</p> <input class="modelbtn" name="genoptradio1" type="radio" value="22,8" onclick="sumvalnotset(this);">example1 <input class="modelbtn" name="genoptradio1" type="radio" value="29,6" onclick="sumvalnotset(this);">example2 <input class="modelbtn" name="genoptradio1" type="radio" value="34,2" onclick="sumvalnotset(this);">example3 <input class="modelbtn" name="genoptradio1" type="radio" value="31,2" onclick="sumvalnotset(this);">example4 </div> <p id="sumvalnotset">the value is 0</p> </body> 

您可以使用以下代碼。

 function sumvalnotset(modelbtn) { var p = document.getElementById("sumvalnotset"); p.innerHTML = "the value is " + modelbtn.value } 
 <body> <div> <p>Select:</p> <input class="modelbtn" name="genoptradio1" type="radio" value="22,8" onclick="sumvalnotset(this);">example1 <input class="modelbtn" name="genoptradio1" type="radio" value="29,6" onclick="sumvalnotset(this);">example2 <input class="modelbtn" name="genoptradio1" type="radio" value="34,2" onclick="sumvalnotset(this);">example3 <input class="modelbtn" name="genoptradio1" type="radio" value="31,2" onclick="sumvalnotset(this);">example4 </div> <p id="sumvalnotset">the value is 0</p> </body> 

不必在每個<input>上添加onclick並遍歷所有輸入。 我建議您使用:checked來確定要檢查哪個單選。

 document.querySelectorAll('.modelbtn').forEach(input => { input.addEventListener('click',sumvalnotset) }) function sumvalnotset(){ //it will get the radio input with class '.modelbtn' which is checked let model = document.querySelector('.modelbtn:checked'); //checks if any radio is checked if(model){ document.getElementById('sumvalnotset').innerHTML = "the value is " + model.value } } 
 <div> <p>Select:</p> <input class="modelbtn" name="genoptradio1" type="radio" value="22,8">example1 <input class="modelbtn" name="genoptradio1" type="radio" value="29,6">example2 <input class="modelbtn" name="genoptradio1" type="radio" value="34,2">example3 <input class="modelbtn" name="genoptradio1" type="radio" value="31,2">example4 </div> <p id="sumvalnotset">the value is 0</p> 

暫無
暫無

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

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