如果所有单选框在jQuery中都有一个选择,则显示一个元素



我正试图让一个表单显示/隐藏一个提交按钮,这取决于是否所有的单选元素都有一个选择-这就是我目前所做的。。你知道我做错了什么吗?

$(document).ready(function() {
    $('#submit-btn').hide();
    if ($(':radio:checked').length > 0) {//try reach selected radio here
        $('#submit-btn').show();
    }
});
var count = 0
$(':radio').each(function(){
   count++;
});
if ($(':radio:checked').length == count) {
        $('#submit-btn').show();  
}

这可能有助于你的事业。。!!

 $('.toCheck').length == $('.toCheck:checked').length;

如果计算结果为true,则该选择器的所有input都是checked!:)

如果选中了ANY单选元素,则返回true,而这不是您想要的。

不幸的是,没有快速处理无线电元素的方法,因为即使其中一个元素被选中,其他元素也不会显示为已选中。

您将不得不手动循环它们。

我使用Robin的代码片段进行了一些修改。

我没有正确解释每个"问题"都有一组5个单选按钮(我的错),但下面的代码满足了我现在的需求。

基本上和Robins一样,只是每个问题都有5个单选框,我把长度除以5,现在就可以了!谢谢大家:)

$(document).ready(function() {
    $('#submit-btn').hide();
    $("form input:radio").change(function() {     
        var questions = ($('.questions').length / 5);
        var checked = ($('.questions:checked').length);
        if (questions == checked)
        {
            $('#submit-btn').show();
        }
    });
});

最新更新