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

推薦する

JSはタイムラインの自動再生を実現する

最近、次のような効果を実装しました。再生ボタンをクリックするとタイムラインの再生が開始され、一時停止...

SSH ポート転送、ローカル ポート転送、リモート ポート転送、動的ポート転送の詳細

パート 1 SSH ポート転送の概要カフェで無料Wi-Fiを利用しているとき、誰かがあなたのパスワー...

Windows Server 2016 AD サーバーをセットアップする手順 (画像とテキスト)

導入: AD は Active Directory の略称で、中国語では Active Direct...

vue-router のハッシュモードと履歴モードの違い

vue-routerには2つのモードがありますハッシュモード履歴モード1. シングルページアプリケー...

Ubuntu 18.04 のsources.listをAlibabaまたはTsinghuaミラーに変更する方法

1. バックアップソースリストUbuntu のデフォルトのソースは国内サーバーではないため、更新され...

CentOS 6.x のインストール時に発生するエラー「ディスク sda に BIOS RAID メタデータが含まれています」の解決方法

今日、CentOS6.2 をインストールしていたところ、ハード ドライブの検出段階を通過できませんで...

React Hook の使用例 (一般的なフック 6 つ)

1. useState: 関数コンポーネントに状態を持たせる使用例: // カウンター impor...

AIX マウント NFS の書き込み効率が低い場合の解決策

NFSが提供するサービスマウント: サーバー上で /usr/sbin/rpc.mountd サーボ ...

CentOS 8.1 で LEMP (Linux+Nginx+MySQL+PHP) 環境を構築する (チュートリアルの詳細)

目次ステップ1: CentOS 8でパッケージを更新するステップ2: CentOS 8にNginx ...

MySQL マスタースレーブ構築(複数のマスターと 1 つのスレーブ)の実装アイデアと手順

背景:最近、同社のプロジェクトは同時実行のプレッシャーに耐えられないようなので、最適化が差し迫ってい...

JavaScript offsetParent のケーススタディ

1. offsetParentの定義: offsetParentは子要素に最も近い位置に配置された親...

モバイルウェブ画面適応(rem)

序文最近、フロントエンドの学習に関する以前のメモを整理したところ、モバイル Web 画面の適応 (r...

vue-element-admin グローバル読み込み待機中

最近の要件:グローバルロード、すべてのインターフェースはロード待機機能を表示するかどうかを手動で制御...

MySQLカスタム関数の原理と使用法の分析

この記事では、例を使用して MySQL カスタム関数の原理と使用方法を説明します。ご参考までに、詳細...

Vue.js フロントエンドフレームワークにおけるイベント処理の概要

1. v-onイベント監視DOM イベントをリッスンするには、v-on ディレクティブを使用します。...