我正在使用Jquery来禁用和重新启用文本区域,具体取决于是否选中了复选框。
我可以在选中复选框时禁用文本区域框,但在取消选中复选框时无法启用它。这是我当前的Jquery脚本:
$('#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(value);
,即使我取消选中复选框,我的值也始终为1。如何获取复选框的值(是否已选中)?
感谢。
答案 0 :(得分:1)
修改后的代码:您应该使用选中的属性
$('#business_closed').change(function(){
console.log(value);
if(this.checked){
$('#open_hours').attr("disabled", true);
}
else{
$('#open_hours').attr("disabled", false);
}
return false;
});
答案 1 :(得分:1)
使用.attr()
与jQuery版本相关的问题< 1.6。
因为它在页面呈现时给出了defaultCheck属性。因此,使用.prop()
替代
if(value){
$('#open_hours').prop("disabled", true);
}
else{
$('#open_hours').prop("disabled", false);
}