2011-03-09 84 views
2

我试图禁用页面加载时的订单按钮,并在检查条款和条件复选框时启用它。我有它工作的地方订单按钮被禁用时页面加载,但点击复选框的按钮不启用。这是我的代码。谁能帮我找出问题需要启用/禁用单击复选框上的按钮

<input type="checkbox" id="checkbox1" name="checkbox1" class="required" />Please read the <a href="#">Terms and Conditions</a> 

jQuery代码

var j$ = jQuery.noConflict(); 
j$(document).ready(function(){ 
alert("Hi"); 
if(j$('input[name="checkbox1"]').not(":checked")) 
{ 
    j$('input[name="Order"]').attr('disabled', 'disabled'); 
} 
else 
{ 
    j$('input[name="Order"]').removeAttr('disabled'); 
} 
j$('#checkbox1').change(function(){ 
    if(j$('input[name="checkbox1"]').is(":checked") 
    { 
    j$('input[name="Order"]').attr('disabled', 'disabled'); 
    } 
    else 
    { 
    j$('input[name="Order"]').removeAttr('disabled'); 
    } 
    } 
}); 

感谢

Prady

回答

2

您提供的代码有一些失踪({,这里是一个更新的版本有了一些变化,以妥善处理复选框状态:

var j$ = jQuery.noConflict(); 
j$(document).ready(function() { 
    var checkbox1 = j$('#checkbox1'); 
    var order = j$('input[name="Order"]'); 

    var verifyChecked = function() { 
     if (checkbox1.is(":checked") === false) { 
      order.attr('disabled', 'disabled'); 
     } else { 
      order.removeAttr('disabled'); 
     } 
    }; 

    verifyChecked(); 

    checkbox1.change(verifyChecked); 
}); 

这里正在与它的jsfiddle :

http://jsfiddle.net/7uRf6/4/

2

你已经错过了一个右括号

if(j$('input[name="checkbox1"]').is(":checked") 

if(j$('input[name="checkbox1"]').is(":checked")) 

此外,您可以使用id选择器,而不是此attribue选择器。

如果要启用按钮时复选框被选中,你必须

if(!j$('input[name="checkbox1"]').is(":checked")) 
1
change事件

if(j$('input[name="checkbox1"]').is(":checked") 

应该

if(j$('input[name="checkbox1"]').not(":checked") 

我建议你创建一个函数来检查它。

var j$ = jQuery.noConflict(); 

j$(document).ready(function(){ 
    ToggleButton(); 
    j$('#checkbox1').change(ToggleButton); 
}); 

function ToggleButton() 
{ 
    if(j$('input[name="checkbox1"]').not(":checked")) 
    { 
    j$('input[name="Order"]').attr('disabled', 'disabled'); 
    } 
    else 
    { 
    j$('input[name="Order"]').removeAttr('disabled'); 
    } 
} 
1
<script src="jquery.js"></script> 
<script> 

$(document).ready(function(){ 

    $('#ch').click(

     function(){ 
      if($(this).is(':checked')){ 
       $('#bt').attr('disabled','disabled'); 
      } 
      else { 
       // remove 
       $('#bt').removeAttr('disabled');     
      } 
     } 
    ) 

}) 
</script> 
<input type="button" value="button" id="bt"/> 
<input type="checkbox" id="ch"/> 
相关问题