jquery,单选按钮,验证和索引问题

时间:2011-04-18 16:24:36

标签: jquery-validate radio-button

我有一组名为=“rb_Select”的单选按钮。

我添加了一个简单的单选按钮验证,以确保选择了至少1个单选按钮,但我现在看到我的语法是我的javascript函数写错了。

基本上,我要检查的是if else语句中的true / false值。但是,我意识到如果没有选择单选按钮,那么我会得到多个错误值。假设我有8个单选按钮,我在调试时会收到8个警报窗口。

如果我选择1个单选按钮,那么我得到一个真实和7假。但那不是我想要的。

我想要的是真实而不虚假。我不确定语法应该是什么。我显然做错了什么。

这是提交功能:

var $ = jQuery;

$("#pError").hide();
$("#LocInfo").hide();

$(".submit-button").click(function() {

    var rb = document.getElementsByName('rb_Select');

    for (var i = 0; i < rb.length; i++)
    {
        if (rb[i].checked == true)
        {

        alert('Value=' + rb[i].value + 'TRUE');
        var myURL = rb[i].value;
        window.open(myURL);


        } else {

        alert('Value=' + rb[i].value + 'False');

        $("#pError").fadeIn();
        var fade_out = function() { $("#pError").fadeOut(); }
            setTimeout(fade_out, 3000);
        };

    }
});

1 个答案:

答案 0 :(得分:1)

您可以使用带有长度方法的选择器input[type='radio'][name='rb_Select']:checked来查看是否已选择广播。

试试这个:

  var $ = jQuery;

    $("#pError").hide();
    $("#LocInfo").hide();

    $(".submit-button").click(function() {

        var radios = $("input[type='radio'][name='rb_Select']:checked");
        if(radios.length > 0){
            alert('Value=' + radios.val() + 'TRUE');
            window.open(radios.val());
        }       else{

            alert('Value=' + radios.val()+ 'False');

            $("#pError").fadeIn();
            var fade_out = function() { $("#pError").fadeOut(); }
                setTimeout(fade_out, 3000);
            };
        }
    });