获取javascript中的radiobutton值
我的代码如下:获取javascript中的radiobutton值,javascript,primefaces,Javascript,Primefaces,我的代码如下: 在my bean类中,映射标志如下所示: `flags.put("1", "Apple");` `flags.put("2", "Boy");` 我的目标是获得选中的单选按钮值,比如说,如果我选择1,那么我应该能够在check()javascript函数中获得Apple。我的代码在h:form id=“fid”中。 我尝试了document.getElementById(“fid:radID”)[0]。选中了和document.getElementByI
在my bean类中,映射标志如下所示:
`flags.put("1", "Apple");`
`flags.put("2", "Boy");`
我的目标是获得选中的单选按钮值,比如说,如果我选择1,那么我应该能够在check()javascript函数中获得Apple。我的代码在h:form id=“fid”
中。
我尝试了
document.getElementById(“fid:radID”)[0]。选中了和document.getElementById(“fid:radID”).value
。什么都没用。Plz帮助。如果您有一组具有相同名称的单选按钮,您可以通过迭代相同名称按钮的集合来获取值,例如
<input type="radio" name="r" id="r" value="a">
<form ...>
<input type="radio" name="foo" value="0" checked>0<br>
<input type="radio" name="foo" value="1">1<br>
<input type="radio" name="foo" value="2">2<br>
<input type="radio" name="foo" value="3">3<br>
<input type="button" value="show value" onclick="
var radios = this.form.foo;
for (var i=0, iLen=radios.length; i<iLen; i++) {
if (radios[i].checked) {
alert(radios[i].value);
}
}
">
<input type="reset">
</form>
0
1
2
3
我建议您使用名称而不是id,因为元素id应该是唯一的。
我修改了您的代码,以便使用元素名称来管理:
<p:selectOneRadio value="#{myProgram1.selectedFlag}" id="radID" name="programm[]">
<f:selectItems value="#{myProgram1.flags}"/> </p:selectOneRadio> <p:commandButton value="check" onclick="check()"/>
<script>
function check()
{
var arrElements=document.getElementsByName('programm[]');
$(arrElements).each(function(i,ele){
if($(ele).attr('checked'))
{
/*Your application logic comes here*/
/*To get Value of checked radio button use : ele.value */
}
});
}
</script>
函数检查()
{
var arrElements=document.getElementsByName('programm[]);
$(arrElements)。每个(函数(i,ele){
if($(ele.attr('选中'))
{
/*您的应用程序逻辑在这里*/
/*要获取选中单选按钮的值,请使用:ele.Value*/
}
});
}
谢谢大家提出的高质量想法。我已经解决了。getElementsByName(“fid:radID”)返回一个集合。通过迭代,我可以得到选中的radiobutton值
也谢谢萨维什。你的方法也很有效 如果使用widgetVar属性,会更容易
<p:selectOneRadio value="#{myProgram1.selectedFlag}" id="radID" widgetVar="selectVar">
<f:selectItems value="#{myProgram1.flags}"/>
</p:selectOneRadio>
谢谢你的回复。但我面临着这个问题,尤其是在这个primefaces案例中(p:selectOneRadio)。@user17。。如果你有更多的单选按钮,你可以像这样使用jQuery('#r')。单击(函数(){替换为jQuery('input:radio')。单击(函数(){感谢RobG的回复。但是我面临这个问题,特别是在这个primefaces案例中(p:selectOneRadio)。错过了primefaces标记。我不知道,在浏览器中发布你实际得到的内容(即HTML)。谢谢Sarvesh。我已经解决了它,我的方法与你的类似。非常感谢你分享你的想法。
<p:selectOneRadio value="#{myProgram1.selectedFlag}" id="radID" widgetVar="selectVar">
<f:selectItems value="#{myProgram1.flags}"/>
</p:selectOneRadio>
selectVar.inputs[0].checked
selectVar.inputs[1].checked
selectVar.inputs[2].checked