0

我正在使用 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。如何获取复选框的值(无论是否选中)?

谢谢。

4

2 回答 2

1

使用.attr()jQuery 版本 < 1.6 存在一些问题。

因为它在页面呈现时给出了 defaultCheck 属性。所以它是一个很好的做法,.prop()而不是使用

if(value){
    $('#open_hours').prop("disabled", true);
  }
  else{
    $('#open_hours').prop("disabled", false);
  }
于 2012-10-18T20:07:57.037 回答
1

修改后的代码:您应该使用选中的属性

$('#business_closed').change(function(){

  console.log(value);

  if(this.checked){
    $('#open_hours').attr("disabled", true);
  }
  else{
    $('#open_hours').attr("disabled", false);
  }
  return false;
});
于 2012-10-18T19:52:45.783 回答