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

変更されたコード:チェックされたプロパティを使用する必要があります

$('#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 に答える
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 に答える