チェックボックスの選択またはキャンセルを実装する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 を使用して動的負荷分散を実現する方法の詳細な説明

推薦する

Vue を使用して 2 つのデータ セットの違いを比較する視覚化コンポーネントの詳細な説明

目次必要:要点:これまでの要点に従って、コンポーネントのプロパティを確立できます。コンポーネントの基...

標準SQL更新ステートメントの3つの用途についての簡単な理解

1. 環境: MySQL-5.0.41-win32 Windows XP プロフェッショナル2. テ...

mysqlは指定された期間内の統計データを取得します

mysqlは指定された期間内の統計データを取得します年別統計 選択 カウント(*)、 DATE_FO...

MySQL データベース面接に必須の 3 つのログの紹介

目次1. redo ログ (MySQL ストレージ エンジン InnoDB のトランザクション ログ...

MySQL IFNULL判定問題の解決方法

問題: mybatis によって返される null 型のデータが消え、フロントエンドの表示にエラーが...

Navicateを使用してAlibaba Cloud Server上のMySQLに接続する

1. まず、サーバーの mysql にアクセスして権限を変更します。 GRANT オプション付きで、...

vuex での Getter の使用法の詳細な説明

序文Vuex を使用すると、ストア内に「ゲッター」を定義できます (これはストアの計算されたプロパテ...

Django+vue 登録とログインのサンプルコード

登録するフロントエンドは、vue の axios を使用して値を渡し、取得したアカウントとパスワード...

ショートビデオ(Douyin)の透かし除去ツールの実装コード

目次1. まず最初のリンクを取得する2. ブラウザでこのリンクを開いてください3. アドレスを開くと...

クリックイメージ反転効果を実現するJavaScript

最近、顔コレクションに関するプロジェクトに取り組んでいましたが、フロントエンドモジュールを書いている...

IDEA2021 tomcat10 サーブレットの新しいバージョンの落とし穴

私が学習していたときに使用していたバージョンは比較的新しいものであり、インターネット上のチュートリア...

Vueは書籍ショッピングカートの機能を実現

この記事の例では、書籍ショッピングカート機能を実現するためのVueの具体的なコードを参考までに共有し...

Vueは新しいウィンドウを開き、パラメータ転送のグラフィック例を実装します。

私が実現したい機能は、新しいウィンドウを開いて新しいページを表示することですが、パラメータを渡す必要...

負の距離(共感) - 相互影響の反復プロセス

ネガティブな距離は共感を意味します。序文(疑問の提起):プロダクトマネージャーは機能を把握します。機...

HTML CSS を使用して div またはテーブルを指定した位置に固定する方法

CSSコードコンテンツをクリップボードにコピー.bottomTable{背景色: rgb (249,...