LoginSignup
18
15

More than 5 years have passed since last update.

jQuery でチェックボックスの操作まとめ

Last updated at Posted at 2014-09-30

いつも忘れるのでまとめました。

チェックされているかどうか調べる

is_element_checked = $element.is(':checked');

このとき、もし $element が複数の要素とマッチした場合には、ひとつでも :checked な要素があれば true が返ります。

すべてがチェックされているかどうか調べる

すべての要素がチェックされているかどうかを知りたい場合は、下記のようにひとつでも :not(:checked) な要素があるかどうかを調べて真偽を反転すれば実現できます(可読性がイマイチ……。もっといいやり方あったらコメントで教えてください。 $elements.areAll(':checked') みたいな感じのインターフェイスほしいですね)。

are_all_elements_checked = !$elements.is(':not(:checked)')

チェックをつける/はずす

CSSは分かるけどjQueryは苦手……という人が .attr()と .prop()に親しんでくれるといいなーと思って書きました。 | Ginpen.com という記事が参考になりました。 jQuery 1.6 系からは下記のようにします。

$element.prop('checked', true);

よくある全選択/全解除の実装

こんな感じでイベントが発火した要素のチェック状態を子に引き継ぐとよいと思います。

$parent.change(function(){
    $children.prop('checked', this.checked);
});
18
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
15