2014-04-22 142 views
1

我正在使用ASP.NET MVC 4开发Web应用程序。我有一个页面,其中包含一个提交按钮,只有当我的两个复选框中的一个(或两个)都启用时才应该启用该按钮。事情是,我试图在下面的脚本中添加一个“或”运算符,但它不会给我我想要的。所以,这里是我的脚本:jQuery - 启用/禁用复选框状态下的按钮状态

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

我不能找到一种方法来告诉我的文档“好吧,如果这两个复选框中的一个(或两者)已被选中,我们可以按下按钮,否则不允许“。

任何想法的家伙?

回答

1

只需使用

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

DEMO

3

这是可以做到的:

Fiddle

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

注:

  • 这个按类名称找到复选框checkbox,所以它将与两个复选框一起工作,而您的原始代码通过它的ID查看单个复选框。
  • 使用change事件不是click
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) ; 
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"); 
    } 
}); 

}); 
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"))); 
    }); 
}); 
相关问题