从表单jquery中只获取可见的单选按钮

时间:2013-11-13 13:49:23

标签: jquery

我有一个有很多可见和隐藏的单选按钮的表单。我只需要获得可见的单选按钮并进行一些操作。我正在尝试下面的代码。但它不起作用。有人可以帮助我。

$('#submitbutton').click(function () {
    var returnVal = true;
    $.each($('.input-container[data-validation=required]'), function (idx, group) {
        $(group).next('ul.innererrormessages').remove();
        var unchecked = $(group).find(':radio').filter(':visible');
        if (!unchecked.is(':checked')) {
            var title = unchecked.attr('title');
            $(group).after('<ul class="innererrormessages"><li>' + title + '</li></ul>');
            returnVal = false;
        }
    });
});

一组有4-5个单选按钮。我需要检查组中的任何单选按钮是否已选中。所以我不确定上面的代码是否真的检查是否检查了组中的任何一个单选按钮。因为即使在所有单选按钮之后 检查,它给returnVal假。如果我尝试提醒returnVal,首先它给出了true,然后它给出了所有的错误。

1 个答案:

答案 0 :(得分:5)

您可以创建一个选择器并跳过if :checked语句

var unchecked = $(group).find(':radio:checked:visible');

现在,不要运行if循环,只需对这些循环运行each迭代并进行操作。