jquery禁用提交按钮,除非选中所有单选按钮组

时间:2015-02-09 17:34:19

标签: javascript jquery forms

尝试禁用表单提交按钮,除非从多个单选按钮组中进行了选择。有这么远,不知道为什么不工作,按钮保持禁用:

    <script>
        $(function () {
            $('#button').attr('disabled', true);

                var disable = true;
                $('input:radio').click(function () {
                    $('input:radio').each(function () {
                        if ($(this).is(':checked'))
                            disable = false;
                        else
                            disable = true;
                    });
            });
            $('#button').prop('disabled', disable == true ? true : false);
        });
    </script>

1 个答案:

答案 0 :(得分:1)

您应该更改处理程序内的属性,单选按钮的右侧处理程序为onchange

$(function () {
    var button = $('#button').prop('disabled', true);
    var radios = $('input[type="radio"]');
    var arr    = $.map(radios, function(el) { 
                      return el.name; 
                 });

    var groups = $.grep(arr, function(v, k){
                     return $.inArray(v ,arr) === k;
                 }).length;

    radios.on('change', function () {
        button.prop('disabled', radios.filter(':checked').length < groups);
    });
});

FIDDLE