フォームで完全な選択または逆選択効果を実現する JavaScript

フォームで完全な選択または逆選択効果を実現する JavaScript

この記事では、フォームの完全選択または逆選択を実現するためのJavaScriptの具体的なコードを参考までに紹介します。具体的な内容は次のとおりです。

チェックボックスはフォームでよく使用されます。また、ショッピング カートの商品リストなど、チェックボックスによって作成されたリストをすべて選択または選択解除することも非常に一般的です。したがって、この記事では、この一般的な機能の選択効果とその基礎となる実装のアイデアとコードも紹介、デモンストレーション、分析します。以下は JS コードです。

<スクリプト>
        //フォームですべて選択またはすべて選択解除する例: 注: チェックボックスのチェック属性値が true の場合は選択され、false の場合は選択解除されます var j_cbAll = document.getElementById('j_cbAll'); //すべて選択ボタンを取得します var j_tbs = document.getElementById('j_tb').getElementsByTagName('input'); //すべての入力チェックボックスを取得します //イベントを登録します //1.すべて選択ボタンのイベント j_cbAll.onclick = function () {
            // this.checked は現在のチェックボックスの状態を取得し、true または false の値を返します。
            (var i = 0; i < j_tbs.length; i++) の場合 {
                j_tbs[i].checked = this.checked; // tbody 内の各チェックボックスのチェック値を現在の全選択ボタンのチェック値と同じにして、それらの状態が一致するようにします}
        }
        // 2. tbody 内のチェックボックスのイベント: 下にあるチェックボックスがすべて選択されている場合は、[すべて選択] ボタンも選択されます。少なくとも 1 つが選択されていない場合は、[すべて選択] ボタンも選択解除されます。注: tbody 内のチェックボックスがクリックされるたびに、すべてのチェックボックスが選択されているかどうかを確認する必要があります。for (var i = 0; i < j_tbs.length; i++) {
            j_tbs[i].onclick = 関数(){
                // フラグは、すべて選択ボタンが選択されているかどうかを制御するために使用されます。var flag = true;
                // 下のチェックボックスをクリックするたびに、ループして 4 つのチェックボックスがすべて選択されているかどうかを確認する必要があります for (var i = 0; i < j_tbs.length; i++) {
                    console.log('---'+j_tbs[i].checked);
                    if (j_tbs[i].checked == false) { // ボタンが選択されていない場合は、内部コードを実行してフラグの値をfalseに変更します。
                        フラグ = false;
                        break; // 内部の for ループを終了します。1 つが選択されない限り、残りを判断する必要がないため、実行効率が向上します。}
                }
                j_cbAll.checked = flag; //ループが終了したら、すべて選択ボタンにフラグ値を設定します}
        }
</スクリプト>

実行コードのスクリーンショット:

「すべて選択」をクリックした場合:もう一度クリック:

以下のチェックボックスをオンにすると:

注意:以下の 4 つのチェック ボックスがすべて選択されていない場合は、上の [すべて選択] ボタンは選択されません。

内部JS 実装のアイデアは、主に 2 つの部分に分かれています。最初の部分は、「すべて選択」ボタンの機能です。このボタンが選択されると、その下にあるすべてのチェックボックスがオンになります (true)。注: この値は、この機能の実装の鍵となります。「すべて選択」ボタンのチェックが外れている場合、そのチェック値は false なので、この値を下にあるすべてのサブチェックボックスに割り当てることができます。2 番目の部分は、「すべて選択」ボタンの状態です。これは、下にあるサブチェックボックスのクリック選択機能とその状態によって決まります。以下のすべてが選択されている場合は、「すべて選択」ボタンも選択されている必要があります。少なくとも 1 つがオフになっている場合は、「すべて選択」ボタンもオフになっています。注: サブチェックボックスをクリックするたびに、すべてのチェックボックスが選択されているかどうかの判断が必要です。 (コード分析を組み合わせることをお勧めします。コードには詳細なコメント分析が含まれています)

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

以下もご興味があるかもしれません:
  • js を使用してフォーム項目のすべて選択、選択解除、削除操作を実装する例
  • ReactJSはフォームで単一選択、複数選択、逆選択の例を実装します

<<:  nginx でネストされた if メソッドを実装する方法

>>:  入力が正しいにもかかわらず、MySQL 8.0 でアクセスが拒否される問題を解決する

推薦する

広告を閉じるための JavaScript カウントダウン

広告を閉じるまでのカウントダウンを実装するために JavaScript を使用するまだフロントエンド...

Vueのインストールと使用

目次1. Vueのインストール方法1: CDNの導入方法2: 直接ダウンロードしてインポートする方法...

ソースコードの観点からキープアライブコンポーネントのキャッシュ原理に答える

今日は、早速本題に入り、面接中に尋ねられた質問、つまりキープアライブ コンポーネントのキャッシュ原理...

メタを使用してトラフィックキャッシュをキャンセルし、ページにアクセスするたびにページを更新して簡単にデバッグできるようにします。

コードをコピーコードは次のとおりです。 <!-- ブラウザがローカル キャッシュからページにア...

DockerコンテナにRedisをデプロイする手順の紹介

目次1 つの Redis 設定ファイル2 Dockerコマンドの開始3 docker-compose...

画面なしで無線ネットワークに接続しているときに Raspberry Pi の IP アドレスを見つける方法

あなたがlinuxerだと仮定すると、 windowserだとは想定しません。Windows ユーザ...

XHTML チュートリアル、XHTML の基礎を簡単に紹介します

<br />この記事では、XHTMLとXHTMLの基礎知識について簡単に紹介します。 X...

Navicat による MySQL パーティショニングの実践

MySQLのパーティショニングは、非常に大きなテーブルを管理するのに役立ちます。MySQLのパーティ...

nodejs で worker_threads を使用して新しいスレッドを作成する方法

導入前の記事で述べたように、NodeJS には 2 種類のスレッドがあります。1 つは、ユーザー リ...

Linux ipcsコマンドの使用

1. コマンドの紹介ipcs コマンドは、Linux のプロセス間通信機能の状態を報告するために使用...

koa2 サービスに SSL を設定する方法

I. はじめに1: SSL証明書私のドメイン名は Tencent Cloud にあります。第 3 レ...

HTMLの基礎を詳しく解説(第2部)

1. リストリスト ulコンテナーには、一貫した構造とスタイルを持つテキストまたはグラフの形式が読...

MySQL テーブル結合クエリでグループ化と重複排除を実装する例

目次ビジネスロジックデータテーブル構造クエリロジックSQL スクリプトスクリプトの説明ビジネスロジッ...

nginx でディレクトリ ホワイトリストと IP ホワイトリストを設定する方法

1. ディレクトリホワイトリストを設定する:指定されたリクエストパスに制限を設定しないでください。た...

複数の .sql ファイルを MySQL に効率的にインポートする方法の詳細な説明

MySQL には、複数の .sql ファイル (SQL ステートメントを含む) をインポートする方法...