チェックボックスの選択またはキャンセルを実装するJavaScript

チェックボックスの選択またはキャンセルを実装するJavaScript

この記事では、すべてのチェックボックスを選択または解除するためのJavaScriptの具体的なコードを参考までに共有します。具体的な内容は次のとおりです。

実装のアイデア

1. 選択ボックス全体とすべての小さな選択ボックス要素オブジェクトを取得します。
2. ボタン コントロールの小さなボタン - onclick イベントをメイン チェック ボックスにバインドし、イベント ハンドラー - for ループですべての小さなチェック ボックスを反復処理し、メイン チェック ボックスのチェックされた属性値をそれらに割り当てます。
3. 小さいボタンはメイン ボタンに影響します - - - for ループはクリック イベントを各小さいチェック ボックスにバインドし、クリックごとに for ループ内のすべてのチェック ボックスが選択されているかどうかを確認します。
メインボタンの選択状態を制御するために変数フラグを設定します。初期値は true です。for ループは反復して、各小さなチェックボックスの選択状態をチェックします。1 つが選択されていない限り、flag = false となり、break はループから抜け出し、後続の小さなチェックボックスの状態をチェックしなくなります。最後に、メインボタンのチェック済み属性値 = flag になります。

注: HTML では、選択状態はチェック済み = "チェック済み" ですが、JS では、選択状態は - - - チェック済み = true、未チェック状態は - - - チェック済み = false です。

提案:この種の属性値の場合、コンソールに出力して値を確認することができます。

コードサンプル

<!DOCTYPE html>
<html lang="ja">

<ヘッド>
    <メタ文字セット="UTF-8">
    <meta http-equiv="X-UA-compatible" content="IE=edge">
    <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">
    <title>複数選択ボックス</title>
    <スタイル>
        。箱 {
            幅: 300ピクセル;
            マージン: 100px 自動;
        }
        
        スレッド {
            色: #fff;
            背景色: #008dd0;
        }
    </スタイル>
</head>

<本文>
    <div class="box">
        <表の境界線="1" セル間隔="0" セルパディング="5" 幅="200" 位置合わせ="中央">
            <頭>
                <tr>
                    <th><input type="checkbox" value="0" id="cbAll"></th>
                    <th>スポーツ</th>
                </tr>
            </thead>
            <tbodyid="tb">
                <tr>
                    <td><入力タイプ="チェックボックス" 値="1"></td>
                    <td>実行中</td>
                </tr>
                <tr>
                    <td><入力タイプ="チェックボックス" 値="2"></td>
                    <td>縄跳び</td>
                </tr>
                <tr>
                    <td><入力タイプ="チェックボックス" 値="3"></td>
                    ヨガ
                </tr>
                <tr>
                    <td><入力タイプ="チェックボックス" 値="4"></td>
                    <td>水泳</td>
                </tr>
                <tr>
                    <td><入力タイプ="チェックボックス" 値="5"></td>
                    サイクリング
                </tr>
            </tbody>
        </テーブル>
    </div>

    <スクリプト>
        var all = document.querySelector('#cbAll');
        var スポーツ = document.querySelector('#tb').querySelectorAll('input');

        // クリックイベントをすべて選択ボタンにバインドします all.onclick = function() {
            console.log(すべてチェック済み);
            (var i = 0; i < sports.length; i++) の場合 {
                スポーツ[i].checked = all.checked;
            }
        }

        // クリックイベントを各小さなチェックボックスにバインドします for (var i = 0; i < sports.length; i++) {
            スポーツ[i].onclick = 関数() {
                // すべて選択ボタンが選択されているかどうかを制御します var flag = true;
                // 小さなボックスがクリックされるたびに、すべてのチェックボックスがチェックされているかどうかを確認します (var i = 0; i < sports.length; i++) {
                    スポーツ[i]がチェックされている場合
                        フラグ = false;
                        break; // 小さなチェックボックスが 1 つ選択されていない限り、[すべて選択] ボタンは選択されず、ループから抜け出すことができます。次の小さなチェックボックスは再度判断する必要はありません。}
                }
                all.checked = フラグ;
            }
        }
    </スクリプト>
</本文>

</html>

ページ効果:

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • JSはチェックボックスをすべて選択したり一括削除したりする機能を実装します
  • JSは、チェックボックスをすべて選択、選択解除、または選択解除する機能を実装します。
  • JSはCheckBoxですべて選択およびすべて選択解除する機能を実装します
  • js と jQuery を使用してすべてのチェックボックスを選択/選択解除する方法
  • jsはすべてのチェックボックスを選択または選択解除する効果を実現します
  • チェックボックスの全選択と逆選択を実現する js html css
  • チェックボックスの全選択と逆選択イベントを実装する JavaScript の詳細な説明
  • javascript チェックボックスの選択/すべての特殊効果を選択
  • チェックボックスの全選択機能をJSで実装する方法
  • JavaScript に基づいてすべてのチェックボックスを選択または選択解除する

<<:  MySQLでテーブルを接続するいくつかの方法

>>:  Nginx + consul + upsync を使用して動的負荷分散を実現する方法の詳細な説明

推薦する

mysql-connector-java8.0.27 へのアップグレードに関する注意事項

最近、オンライン セキュリティ スキャンにより、MySQL コネクタに脆弱性が見つかりました。確認し...

HTMLファイルとは何ですか?HTMLファイルを開く方法

HTML は Hypertext Markup Language の略です。現在、ほとんどの Web...

yum から docker インストール パッケージをダウンロードし、オフライン マシンにインストールする例の詳細なコード

1. ネットワークマシンでは、デフォルトのcentosyumソースを使用します [root@kole...

Nexus をベースに Alibaba Cloud プロキシ ウェアハウスを構成するプロセスの分析

Nexus のデフォルトのリモートリポジトリは https://repo1.maven.org/ma...

Vue で動的に追加されたルーティング ページの更新時に失敗する理由と解決策

目次問題の説明シナリオインターフェースリターンフロントエンドメニューの定義vuex のメソッド問題原...

MySQL 5.7.16 無料インストール版のインストールと設定方法のグラフィックチュートリアル

この記事ではMySQL 5.7.16のインストールと設定方法を記録します。具体的な内容は以下のとおり...

JavaScript の構成と継承の説明

目次1. はじめに2. プロトタイプチェーン継承3. コンストラクタの継承4. 組み合わせ継承1. ...

Docker+nacos+seata1.3.0 のインストールと使用設定チュートリアル

これに先立ち、1日かけてやってみました。Seataは使い方が簡単で超シンプルですが、インストールや設...

MySQL のインデックスにおける NULL の影響についての詳細な説明

序文私は多くのブログを読み、弊社の DBA を含む多くの人々が、MySql では列に null が含...

CSSを使用して3Dフォトウォール効果を作成する

CSS を使用して 3D フォト ウォールを作成します。具体的なコードは次のとおりです。 <!...

JavaScript ES 新機能ブロックスコープ

目次1. ブロックスコープとは何ですか? 2. ブロックスコープが必要なのはなぜですか? 3. 関数...

LinuxにNginxをインストールする詳細な手順

1. Nginxのインストール手順1.1 公式サイトの紹介http://nginx.org/en/d...

Docker Swarm を使用して分散クローラー クラスターを構築する例

クローラーの開発プロセス中に、クローラーを複数のサーバーに展開する必要がある状況に遭遇したことがある...

Lvs+Nginx クラスターを使用して高並列アーキテクチャを構築する例

目次1. Lvsの紹介2. Lvs負荷分散モード2.1 NAT 2.2 ターン2.3 DRモード3....

JavaプログラミングでJavaScriptの超実用的なテーブルプラグインを書く

目次効果ドキュメント最初のステップステップ2ステップ3ソースコード効果ドキュメント最初のステップta...