Jquery、单选按钮、验证和索引问题



我有一组单选按钮,名称="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);
        };
    }
});

您可以使用选择器input[type='radio'][name='rb_Select']:checkedlength方法来查看是否选中了单选。

试试这个:

  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);
            };
        }
    });

相关内容

  • 没有找到相关文章

最新更新