Javascript jQuery单选按钮值验证

Javascript jQuery单选按钮值验证,javascript,jquery,html,Javascript,Jquery,Html,我在表单中使用它来检查单选按钮组是否具有特定值(是/否)。其中一个的HTML是: <form id="registerHere"> <div class="control-group"> <label class="radio"> <input type="radio" value="Yes" name="freemedia"> Yes </label> <label class="radio"&g

我在表单中使用它来检查单选按钮组是否具有特定值(是/否)。其中一个的HTML是:

<form id="registerHere">
<div class="control-group">
<label class="radio">
    <input type="radio" value="Yes" name="freemedia">
    Yes
    </label>
    <label class="radio">
    <input type="radio" value="No" name="freemedia" checked="checked">
    No
    </label>
</div></form>

对
不
我正在使用以下JS(包括jQuery.validate.JS):


$(文档).ready(函数(){});
$(“#registerHere”).validate({
规则:{
免费媒体:{
要求:正确,
埃奎尔托:“是的”
},
},
信息:{
免费媒体:{
必填:“请选择”,
equalTo:“请先向‘freemedia’团体申请。”
},
},
});
});
但是,它没有正确地检查值,因为它总是向我显示消息,无论是否检查“是”或“否”


哪里出错了?

在jquery验证中,插件“equalTo”用于比较字段之间的值,而不是同一字段上的值。(如果有人知道更多,这是我的研究。请让我知道。)
您可以向其中添加自定义方法

$.validator.addMethod("check_for_yes", function(value, element) {
  return $('.freemedia').val() != "Yes"
}, "* Please apply to the 'freemedia' group first.");  
验证-

rules : {
 freemedia : {
     check_for_yes: true
 }
}


您可以通过显示警报在Jquery单击单选按钮事件上进行检查。

您想检查在提交表单时选择的值,这是一种很好的方法,给出一个预定义的选中单选按钮,然后在表单子任务时检查选中的单选按钮,这就是此处所做的

<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<input type="radio" name="sex" value="Male" checked>Male</input>
<input type="radio" name="sex" value="Female">Female</input>
<input type="radio" name="sex" value="Unknown" >Unknown</input>

<div onclick="CheckMe();"> check Selected Radio button</div>
</body>
<script>
function CheckMe()
{
alert("value selected "+$('input:radio[name=sex]:checked').val());
}
</script>
</html>

男性
女性
不为人知
选中选中的单选按钮
函数CheckMe()
{
警报(“所选值”+$('input:radio[name=sex]:选中”).val();
}
现在假设默认情况下您没有选择任何单选按钮,那么您可以检查用户是否选择了任何单选按钮,如果选择了,它是什么? 下面的代码可以帮助您做到这一点


男性
女性
不为人知
选中选中的单选按钮
函数CheckMe()
{
if($('input:radio[name=sex]:选中').val()
警报(“所选值”+$('input:radio[name=sex]:选中”).val();
其他的
警报(“请选择单选按钮”);
}

享受

我清理了一些jquery,您在那里有一些错误

另外,我在插件中发现,可以使用'equalTo'参数指定需要哪个控件。它只是使用“equalTo”作为查询的选择器。因此,如果将“equalTo”设置视为jquery选择器,它应该可以工作。这可能有点麻烦,但我让它工作了

你所需要做的就是给你的单选按钮分配一个id,你就可以开始了

<div class="control-group">
        <label class="radio">
            <input id="chkYes" type="radio" value="Yes" name="freemedia" />
            Yes
        </label>
        <label id="chkNo" class="radio">
            <input type="radio" value="No" name="freemedia" />
            No
        </label>
        <input type="submit" value="Submit" />
    </div>
    <script type="text/javascript">
        $(document).ready(function () {
            $("#registerHere").validate({
                rules:
                {
                    freemedia:
                    {
                        required: true,
                        equalTo: "#chkYes"
                    }
                },
                messages:
                {
                    freemedia:
                    {
                        required: "Please select",
                        equalTo: "Please apply to the 'freemedia' group first."
                    }
                }
            });
        });
    </script>

对
不
$(文档).ready(函数(){
$(“#registerHere”).validate({
规则:
{
免费媒体:
{
要求:正确,
equalTo:“chkYes”
}
},
信息:
{
免费媒体:
{
必填:“请选择”,
equalTo:“请先向‘freemedia’团体申请。”
}
}
});
});

我认为单选按钮没有“equalTo”的规定。您可以在单选按钮的单击事件上通过jquery进行检查。使用此选项不起作用,我是否遗漏了什么?我这样做了,并为check_for_yes:,添加了相应的消息,但它似乎不起作用。我们不需要在方法中使用if语句使其返回true/false吗?将类“freemedia”添加到单选按钮。我刚刚编辑了答案。将id添加到类中。我认为这会有所帮助。@SandipKaranjekar如果您查看我的答案,您将看到如何使用“equalTo”作为所需字段的选择器
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<input type="radio" name="sex" value="Male">Male</input>
<input type="radio" name="sex" value="Female">Female</input>
<input type="radio" name="sex" value="Unknown">Unknown</input>

<div onclick="CheckMe();"> check Selected Radio button</div>
</body>
<script>
function CheckMe()
{
if ($('input:radio[name=sex]:checked').val())
alert("value selected "+ $('input:radio[name=sex]:checked').val());
else
alert("Please select Radio button");
}
</script>
</html>
<div class="control-group">
        <label class="radio">
            <input id="chkYes" type="radio" value="Yes" name="freemedia" />
            Yes
        </label>
        <label id="chkNo" class="radio">
            <input type="radio" value="No" name="freemedia" />
            No
        </label>
        <input type="submit" value="Submit" />
    </div>
    <script type="text/javascript">
        $(document).ready(function () {
            $("#registerHere").validate({
                rules:
                {
                    freemedia:
                    {
                        required: true,
                        equalTo: "#chkYes"
                    }
                },
                messages:
                {
                    freemedia:
                    {
                        required: "Please select",
                        equalTo: "Please apply to the 'freemedia' group first."
                    }
                }
            });
        });
    </script>