2014-04-22 254 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"))); 
    }); 
}); 
相關問題