繁体   English   中英

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

[英]jQuery - Enable/Disable a button following checkboxes state

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

jQuery示例

这是我想改进的部分:

$(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");
        }
    });
}); 

而且我找不到告诉我的文档“好的,如果选中这两个复选框中的一个(或两个都选中),我们可以按按钮。否则,请不要这样做”。

有想法吗?

可以通过以下方式完成:

小提琴

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

注意:

  • 这找到类名的复选框checkbox这样就与两个复选框工作,而你原来的代码是看通过其ID的单个复选框。
  • 使用change事件不要click

只需使用

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

演示

$(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")));
    });
});
// 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) ;

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

$(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");
    }
});

}); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM