Jquery 禁用文本区域后,取消选中复选框标记以启用文本区域
我使用Jquery来禁用和重新启用文本区域,这取决于是否选中复选框 我可以在选中复选框时禁用文本区域框,但在未选中复选框时无法启用它。以下是我当前的Jquery脚本:Jquery 禁用文本区域后,取消选中复选框标记以启用文本区域,jquery,Jquery,我使用Jquery来禁用和重新启用文本区域,这取决于是否选中复选框 我可以在选中复选框时禁用文本区域框,但在未选中复选框时无法启用它。以下是我当前的Jquery脚本: $('#business_closed').change(function(){ value = $(this).val(); console.log(value); if(value){ $('#open_hours').attr("disabled", "disabled"); } else{
$('#business_closed').change(function(){
value = $(this).val();
console.log(value);
if(value){
$('#open_hours').attr("disabled", "disabled");
}
else{
$('#open_hours').removeAttr("disabled");
}
return false;
});
基于console.log(值)代码>,即使取消选中复选框,我的值始终为1。如何获取复选框的值(无论是否选中)
谢谢。修改的代码:您应该使用选中的属性
$('#business_closed').change(function(){
console.log(value);
if(this.checked){
$('#open_hours').attr("disabled", true);
}
else{
$('#open_hours').attr("disabled", false);
}
return false;
});
在jQuery版本<1.6中使用.attr()
时出现一些问题
因为它在页面呈现时提供了defaultCheck属性。因此,使用.prop()
是一种很好的做法
if(value){
$('#open_hours').prop("disabled", true);
}
else{
$('#open_hours').prop("disabled", false);
}
谢谢,这很有效。一旦StackOverflow让我:)对不起,我不明白你的最后一句话。你还有什么问题吗?这是一个很弱的双关语——一切正常。在规定的期限过后,我会将你的答案标记为正确。:)