在采取行动的情况下获取单选按钮的选定值
Posted
技术标签:
【中文标题】在采取行动的情况下获取单选按钮的选定值【英文标题】:getting selected value of radio button in case of action 【发布时间】:2012-01-19 13:05:41 【问题描述】:您好,下面是代码,我尝试了很多方法,但无法获得所选单选按钮的值。如您所见,我需要为不同的情况获取该值。
<div style="display: inline-block">
<div>
<a href="/Login/LogOut">Log Out</a><span> Welcome </span>YS User 1 noName </div>
<br />
<br />
<br />
<br />
<input type="button" onclick="submitCreate();" value="New Survey" /><br />
<input type="button" onclick="submitEdit();" value="Edit Survey" /><br />
<input type="button" onclick="submitDelete();" value="Delete Survey" /><br />
<input type="button" onclick="submitPreview();" value="Preview Survey" />
</div>
<div style="display: inline-block">
<div>
<table class="MyTable"><thead><tr class="columnHead"><th scope="col"></th><th scope="col"><a href="/User/Index?sort=UserID&sortdir=ASC">CreatedBy</a></th><th scope="col"><a href="/User/Index?sort=CreatedDate&sortdir=ASC">Created Date</a></th><th scope="col"><a href="/User/Index?sort=IsRunning&sortdir=ASC">Is Running</a></th></tr></thead><tbody><tr><td> <input name="selected" id="1"
type="radio" value="1" /></td><td>1</td><td>12/12/2011 3:43:57 PM</td><td>False</td></tr><tr class="altRow"><td> <input name="selected" id="2"
type="radio" value="2" /></td><td>1</td><td>12/13/2011 4:42:37 PM</td><td>False</td></tr><tr><td> <input name="selected" id="3"
type="radio" value="3" /></td><td>1</td><td>12/13/2011 6:27:38 PM</td><td>False</td></tr></tbody></table>
</div>
</div>
</body>
</html>
<script type="text/javascript">
// var value = $$('input[name=selected]:checked')[0].get('value');
// var selectFoo;
// $$('input[name=selected]').each(function (el)
// if (el.checked == true)
// selectFoo = el.value;
//
// );
function getCheckedValue(radioObj)
if (!radioObj)
return "";
var radioLength = radioObj.length;
if (radioLength == undefined)
if (radioObj.checked)
return radioObj.value;
else
return "";
for (var i = 0; i < radioLength; i++)
if (radioObj[i].checked)
return radioObj[i].value;
return "";
;
function submitCreate()
var adress = "/User/CreateSurvey/";
document.location = adress;
;
function submitEdit()
var adress = "/Den/Index/" + getCheckedValue('selected');
document.location = adress;
;
function submitDelete()
var adress = "/User/DeleteSurvey/" + getCheckedValue('selected');
document.location = adress;
;
function submitPreview()
var adress = "/User/PreviewSurvey/" + getCheckedValue('selected');
document.location = adress;
;
</script>
【问题讨论】:
How to get value of selected radio button? 的可能重复项 【参考方案1】:您可以使用document.getElementsByName(<button_name>)
或document.getElementsByTagName("input")
获取输入元素数组。遍历这些元素以检查哪个是checked
。
下面是一个示例,说明如何从一组名为“selected”的单选按钮中获取选中按钮的值:
<html>
<head>
<script type="text/javascript">
function get_radio_value()
var inputs = document.getElementsByName("selected");
for (var i = 0; i < inputs.length; i++)
if (inputs[i].checked)
return inputs[i].value;
function onSubmit()
var id = get_radio_value();
alert("selected input is: " + id);
</script>
</head>
<body>
<form onsubmit="onSubmit();">
<input name="selected" value="1" type="radio"/>1<br/>
<input name="selected" value="2" type="radio"/>2<br/>
<input name="selected" value="3" type="radio"/>3<br/>
<input type="submit" value="submit"/>
</form>
</body>
</html>
【讨论】:
感谢 sudocode。它帮助了我,但它并不是我所看到的那样。我已经用这些代码解决了这个问题。希望它对某人有所帮助... function get_radio_value() for (var i = 0; i @serhads 这太可怕了,因为您执行 document.getElementsByName() 总共获得了三次输入数组(在您的 for 循环中两次)。您应该只进行一次 DOM 查找。【参考方案2】:我为所需功能选择让代码数。下面从 api.jquery.com 给出了为我工作的那个。希望这对其他人有帮助。
HTML
<input type="radio" name="option" value="o1">option1</input>
<input type="radio" name="option" value="o2">option2</input>
JavaScript
var selectedOption = $("input:radio[name=option]:checked").val()
变量 selectedOption 将包含所选单选按钮的值(即 o1 或 o2
【讨论】:
以上是关于在采取行动的情况下获取单选按钮的选定值的主要内容,如果未能解决你的问题,请参考以下文章