jQueryでdisabledの設定・解除・判定をする方法

  • このエントリーをはてなブックマークに追加
  • Pocket

スポンサードリンク

フォームなどで一時的に操作できないようにするdisabledをjQueryを使って設定する方法です。

attr()だとうまく動作しなかったりするため、prop()を使うようにしましょう。

disabledの設定

まずはHTMLのフォームにdisabledを追加してみましょう。

構文

jQuery

disabledはattr()ではなくprop()を使います。

jQuery1.6よりattr()はHTML属性、prop()はjQueryプロパティを操作するメソッドと役割がハッキリ分かれました。

誤動作の原因にもなりますので、disabledselectedcheckedといったプロパティはprop()で操作しましょう。

チェックを入れたらボタンがdisabledになるサンプル

それではここで、disabledのサンプルをご紹介します。

「同意できない」にチェックを入れるとボタンがクリックできなくなります。

HTML

jQuery

結果(動作サンプル)

下記チェックボックスにチェックを入れると、ボタンがdisabledになるかと思います。

同意できない

ボタンが押せなくなりましたか?

ちなみにattr()を使っても一応動作はしますがprop()を使いましょう。

参考:jQueryでチェックボックスを操作するさまざまな方法

disabledの解除

次にdisabledを解除してみましょう。

構文

jQuery

prop()の第二引数をfalseにするだけです。

prop()はプロパティの状態をtruefalseで返してくれるので、フォーム周りのプロパティと相性がいいんですね。

チェックを入れるとボタンが押せるサンプル

先ほどとは逆で、「同意する」にチェックを入れるとボタンがクリックできるようになります。

ボタンにはあらかじめdisabledが設定されています。

HTML

jQuery

結果(動作サンプル)

先にボタンがクリック出来ないのを確認し、下記チェックボックスにチェックを入れると、ボタンが押せるようになるかと思います。

同意する

ボタンが押せるようになりましたか?

ちなみにremoveAttr()disabledを削除すれば同様に解除できますが、prop()を使いましょう。

disabledの判定

最後に所定の要素がdisableかどうか、状態を取得してみましょう。

disabledの判定方法を2つご紹介します。

prop()での構文

jQuery

prop()disabledを指定するだけです。

is()での構文

jQuery

is():disabledを指定します。

disabledの頭に:(コロン)を付けるのを忘れないようにしましょう。

チェックを入れるたびにdisabledの判定を出力するサンプル

さきほどご紹介したdisabledの状態を取得する2つのサンプルをご紹介します。

HTML

jQuery

結果(動作サンプル)

下記チェックボックスをチェックすると、その下に状態が出力されます。

 :prop
 :is
 
 

チェックを入れたら対応するテキストが表示され、外すとそのテキストも消えるかと思います。

参考:jQueryのchange()で値が変更されたら発動
参考:text() でHTML要素にテキストを追加

スポンサードリンク

  • このエントリーをはてなブックマークに追加
  • Pocket

コメントを残す

*