[英](extjs) Get selected value of radio button in form. Not returning the value
[英]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.