1

我正在尝试根据所有单选元素是否都有选择来使表单显示/隐藏提交按钮-这就是我到目前为止所得到的..任何想法我做错了什么?

$(document).ready(function() {
    $('#submit-btn').hide();

    if ($(':radio:checked').length > 0) {//try reach selected radio here
        $('#submit-btn').show();
    }
});
4

4 回答 4

2
var count = 0

$(':radio').each(function(){
   count++;
});

if ($(':radio:checked').length == count) {
        $('#submit-btn').show();  
}

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

于 2012-08-02T08:57:04.927 回答
1

如果选中任何单选元素,这将返回 true,这不是您想要的。

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

您必须手动循环它们。

于 2012-08-02T08:46:17.187 回答
1

我使用 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();
        }
    });
});
于 2012-08-02T09:15:41.830 回答
1
 $('.toCheck').length == $('.toCheck:checked').length;

如果计算结果为true,那么input该选择器的全部为checked! :)

于 2012-08-02T08:45:31.700 回答