2013-07-31 60 views
0

我有一些工作良好的代码,当一个复选框被选中时,它将禁用三个字段并为这些字段设置值。jQuery检查/取消选中事件

$(document).ready(function() { 
    $("#checkbox_1").change(function() { 
     $("#textbox_1").attr("disabled", $(this).attr("checked")); 
     $("#textbox_2").attr("disabled", $(this).attr("checked")); 
     $("#textbox_3").attr("disabled", $(this).attr("checked")); 
     $("#textbox_1").val(1); 
     $("#textbox_2").val("Classic"); 
     $("#textbox_3").val(1); 
    }); 
}); 

我的问题是,我该如何使它所以当没有选中该复选框我可以设置这三个字段的值回?

回答

4

使用元素属性,而不是属性来设置元素的当前状态:

$(document).ready(function() { 
    $("#checkbox_1").change(function() { 
     $("#textbox_1").prop("disabled", $(this).prop("checked")); 
     $("#textbox_2").prop("disabled", $(this).prop("checked")); 
     $("#textbox_3").prop("disabled", $(this).prop("checked")); 
     $("#textbox_1").val(1); 
     $("#textbox_2").val("Classic"); 
     $("#textbox_3").val(1); 
    }); 
}); 
+0

这应该与切换(协同工作)......我也喜欢用.prop(“检查”,真);或.prop(“checked”,false);更加明确...... – carter

相关问题