1. ホーム
  2. javascript

[解決済み] jQueryでチェックボックスに "checked "を設定する

2022-03-15 07:16:20

質問

にチェックを入れるために、以下のようなことをしたいと思います。 checkbox を使って jQuery :

$(".myCheckBox").checked(true);

または

$(".myCheckBox").selected(true);

そんなものが存在するのだろうか?

解決方法は?

モダンなjQuery

使用方法 .prop() :

$('.myCheckbox').prop('checked', true);
$('.myCheckbox').prop('checked', false);

DOM API

もし、1つの要素だけを扱うのであれば、常に、基礎となる HTMLInputElement を変更し、その .checked プロパティを指定します。

$('.myCheckbox')[0].checked = true;
$('.myCheckbox')[0].checked = false;

を使用する利点は .prop().attr() メソッドの代わりに、マッチしたすべての要素に対して操作することができます。

jQuery 1.5.x およびそれ以下

.prop() メソッドは使用できませんので .attr() .

$('.myCheckbox').attr('checked', true);
$('.myCheckbox').attr('checked', false);

なお、これは は、バージョン 1.6 より前の jQuery のユニットテストで使われていた方法です。 を使用するよりも望ましいです。 $('.myCheckbox').removeAttr('checked'); 後者は、最初にボックスがチェックされていた場合、次の呼び出しの挙動が変わるからです。 .reset() を含むフォームでは、微妙な、しかしおそらく歓迎されない動作の変化です。

より詳細な背景を知るためには、このような「Subject」の扱いに関する変更についての不完全な議論が必要です。 checked 属性は、1.5.x から 1.6 への移行に伴い、以下のようになりました。 バージョン1.6リリースノート および 属性とプロパティの比較 の部分は .prop() ドキュメント .