jQuery - 启用/禁用复选框状态后的按钮

时间:2014-04-22 13:24:04

标签: javascript jquery html onclick

我使用ASP.NET MVC 4开发Web应用程序。我有一个页面,其中包含一个提交按钮,只有在启用了我的两个复选框之一(或两个复选框)时才应启用该按钮。问题是,我试图添加"或"运算符在下面的脚本中,但它没有给我我想要的。所以,这是我的剧本:

The jQuery sample

这是我想改进的部分:

$(document).ready(function() {
    the_terms = $("#the-terms");
    the_terms2 = $("#the-terms2");

    the_terms.click(function() {
        if ($(this).is(":checked")){
            $("#submitBtn").removeAttr("disabled");
        } else {
            $("#submitBtn").attr("disabled", "disabled");
        }
    });
}); 

我找不到告诉我的文件的方法"好的,如果检查了这两个复选框中的一个(或两个),我们可以按下按钮。如果没有,请不要允许它#34;。

任何想法的人?

5 个答案:

答案 0 :(得分:3)

可以通过以下方式完成:

<强> Fiddle

$('.checkbox').change(function(){
    $('#submitBtn').prop('disabled', !$('.checkbox:checked').length > 0)
});

注意:

  • 这会按类名checkbox查找复选框,因此它可以使用两个复选框,而原始代码则通过其ID查看单个复选框。
  • 使用change事件而不是click

答案 1 :(得分:1)

只需使用

$(".checkbox").click(function() {        
    $("#submitBtn").prop("disabled", !$('.checkbox:checked').length);
});

DEMO

答案 2 :(得分:1)

$(document).ready(function() {
   the_terms = $("#the-terms");
   the_terms2 = $("#the-terms2");

   $('.checkbox').change(function(){
       $("#submitBtn").prop("disabled", !(the_terms.is(":checked") || the_terms2.is(":checked")));
    });
});

答案 3 :(得分:0)

// Make a function to be called on onload or on click
function checkTerm() {
    jQuery('input[type="submit"]').attr('disabled',!jQuery('input.term:checked').length > 0 ) ;
}

// Call the function on load
$(document).ready(checkTerm) ;

// And call it on check change
jQuery(document).on('change','input.term',checkTerm) ;

答案 4 :(得分:0)

尝试下面修改过的脚本,请检查它是否可以正常工作。

$(document).ready(function() {
the_terms = $("#the-terms");
the_terms2 = $("#the-terms2");

 if(the_terms.is(":checked") || the_terms2.is(":checked"))
 {
   $("#submitBtn").removeAttr("disabled");
 }
else
{
    $("#submitBtn").attr("disabled", "disabled");
}

the_terms.click(function() {
    if ($(this).is(":checked") || the_terms2.is(":checked")){
        $("#submitBtn").removeAttr("disabled");
    } else {
        $("#submitBtn").attr("disabled", "disabled");
    }
});

 the_terms2.click(function() {
    if ($(this).is(":checked") || the_terms.is(":checked") ){
        $("#submitBtn").removeAttr("disabled");
    } else {
        $("#submitBtn").attr("disabled", "disabled");
    }
});

}); 
相关问题