我有一个表单,其中包含将动态添加到表单的数据。一旦添加了数据,我想验证单选按钮的值(特别是如果已经选中了单选按钮),然后根据选中的单选按钮执行不同的操作。
目前,我无法这样做,因为无论单选按钮的状态(即检查或取消选中),我总是收到警报(“按钮未被检查”)。
代码:
<!DOTYPE HTML>
<html>
<head>
<link type='text/css' rel='stylesheet' href='style.css'>
<!--jQuery Validation-->
<!--Loads JQuery and JQuery validate plugin-->
<script src="//code.jquery.com/jquery-1.9.1.js"></script>
<script type='text/javascript'>
$(document).ready(function ()
{
function checkradio(radio)
{
if (radio.checked)
{
alert("no is checked");
}
else
{
alert("no is not checked");
}
}
function radiocheck()
{
checkradio($('#no'));
}
$('#submit1').click(function ()
{
radiocheck();
})
});
</script>
</head>
<body>
<input type='radio' id='yes' name='radiobutton' value='yes'>yes
<input type='radio' checked='checked' id='no' name='radiobutton' value='no'>no
<input type='button' id='submit1' name='submit' value='submit'>
</body>
</html>
答案 0 :(得分:1)
您正在尝试在jQuery对象上使用本机DOM元素checked
属性。
可以使用:
if(radio.is(':checked'));
或者将原生DOM元素传递给checkradio()
而不是jQuery对象
checkradio($('#no')[0]);
答案 1 :(得分:0)
function checkradio(radio){
if(radio.prop('checked'))
{
alert("no is checked");
}
else
{
alert("no is not checked");
}
}
OR
$('#submit1').click(function(){
if($('#no').prop('checked')){
alert("is checked");
}else{
alert("is not checked");
}
})
答案 2 :(得分:0)
试试这个
checkradio($("input:radio[name=radiobutton]"));
答案 3 :(得分:0)
更改您的代码,如
checkradio($("input[name='radiobutton']")); //This will give all radio buttons with name "radiobutton"
并在if()
添加radio.is(':checked')
<强> FIDDLE 强>