HTMLチェックボックスがオフになったときにJavaScriptでイベントをトリガーする方法はありますか?

自分:

かなり基本的な問題ですが、実行可能な解決策を見つけることができません。私はこのイベントリスナーを持っています:

div.addEventListener('change', function () {
    const checkBox = event.target
    const checked = checkBox.checked
    let checkBoxName = checkBox.name

    if (checked) {
        for(ii = 0; ii < IdOfLayers.length; ii++) {
            if(checkBoxName == IdOfLayers[ii]) {
                checkBoxName = 0
            }
        }
        IdOfLayers.push(checkBoxName)
    }
    else if (document.getElementById(checkBoxName).checked == false) {
        //remove id from array
        console.log("unchecked triggered")
        for (i = 0; i < IdOfLayers.length; i++) {
            if (checkBoxName == IdOfLayers[i]) {
                x = IdOfLayers.splice(i,1,0)

            }
        }
    }
    console.log(IdOfLayers)
    let result = IdOfLayers.filter(word => word.length > 0)
    IdOfLayers = result
} )

現在のところ、チェックボックスがオンになっているときはいつでもそれを検出し、オンになっているチェックボックスの配列に追加します。チェックボックスがすでにそこにある場合も、重複がないように「0」を追加します。

これまでに何を試みても、チェック解除部分をトリガーすることができません。さまざまな方法を試しました。これに対する簡単な解決策が見つからない場合は、遠慮なくお知らせください

編集:私のチェックボックスはユーザーが動的に作成するので、試したときに機能しなかったため、onclick = stateChanged()関数を単純に含めることはできないと思います

ブーブー:

あなたの質問に対する私のコメントを見てください。これで十分です(以下のコードスニペットを実行してください)。

const divElement = document.querySelector('#d');
/*
  A Set is the most efficient structure for adding and removing checkboxes
  You can always convert this to an array if that is ultimately what you need somewhere else.
*/
const IdOfLayers = new Set();

divElement.addEventListener('change', function(event) {
  const checkbox = event.target;
  const name = checkbox.name;
  if (checkbox.checked) {
    IdOfLayers.add(name);
  }
  else {
    IdOfLayers.delete(name);
  }
   // for debugging purposes or to convert to an array if that is what you need in the end
  const myArr = Array.from(IdOfLayers);
  console.log(myArr);
});
<div id="d">
   <label>Checkbox 1 <input type="checkbox" name="c1" value="1"></label>
   <label>Checkbox 2 <input type="checkbox" name="c2" value="2"></label>
   <label>Checkbox 3 <input type="checkbox" name="c3" value="3"></label>
</div>

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Ext Jsグリッドフィルターでフィルターメニューのチェックボックスがオフになっているときにイベントをトリガーしますか?

分類Dev

javascript-チェックボックスがオン/オフのときにイベントをトリガーします

分類Dev

javascriptを使用して入力[チェックボックスまたはラジオボタン]が変更されたときに変更イベントを取得(またはトリガー)する方法

分類Dev

イオンアイテムIonic4をクリックしたときにチェックボックスをトリガーしない方法はありますか?

分類Dev

Vanilla JSを使用して、チェックボックスをオンにし、チェックボックスをオフにしたときにclearInterval()をトリガーしてsetInterval()をトリガーするにはどうすればよいですか?

分類Dev

イベント/トリガーを定期的にチェックするためのよりエレガントな方法はありますか?

分類Dev

チェックボックスがオンまたはオフのときにトーストを表示するにはどうすればよいですか?

分類Dev

チェックボックスのjavascriptクリックイベントにより、チェックボックスがオフになります

分類Dev

jQueryでラジオボタンがチェックされたときにイベントをトリガーする方法

分類Dev

チェックボックスがオンになっている場合、またはチェックボックスがオフになっている場合は値を削除するときに、別のテキストボックスでチェックボックス値とテキストボックス値の合計を取得するにはどうすればよいですか?

分類Dev

Angularで「上記のオプションのどれでもない」をクリックしたときにチェックボックス項目の残りをリセットする方法はありますか?

分類Dev

Knockout.jsのクリックイベントでチェックボックスがオンになっているかどうかを確認します

分類Dev

PhotoSwipe:イベントハンドラーを「init」イベントにアタッチする方法、またはプラグインがライトボックスを開いたときに接続する方法はありますか?

分類Dev

ラベルをクリックしたときにチェックボックスをトリガーしないことは可能ですか?

分類Dev

チェックボックス付きのコンボボックスを作成しましたが、チェックボックスがオンになっているとイベントをキャッチできません

分類Dev

DataTableの各行にはチェックボックスがあります。新しいチェックボックスをオンにしたときに、前のチェックボックスをオフにする方法

分類Dev

リストアイテムをクリックするときにチェックボックスをオンまたはオフにします

分類Dev

TFSサービスのWebフックイベントが失敗したとき、またはWebフックの状態に変化があったときに通知を設定する方法はありますか?

分類Dev

チェックボックスがオンになっているときに、ビューからコントローラーにチェックボックス値を動的に渡すにはどうすればよいですか?

分類Dev

すべてのListViewチェックボックスがチェックされているときにJavaFXイベントをトリガーするにはどうすればよいですか?

分類Dev

HTMLボタンまたはJavaScriptをクリックしたときにファイルのダウンロードをトリガーする方法

分類Dev

チェックボックスは日付を設定しますが、フォームの読み込み時にオフになっているように見えます:読み込み時にイベントが必要ですか?

分類Dev

jqueryまたはjavascriptを使用して2つのチェックボックスがオンになっている場合、divのリストをフィルタリングするにはどうすればよいですか?

分類Dev

CSS:フォームのすべてのチェックボックスがオンになっているときにCSSのみを使用して検出する方法はありますか?

分類Dev

スクリーンショットを作成するときにダイアログボックスをオフにする設定はありますか?

分類Dev

他のフィールドで検証がトリガーされたときにチェックボックスがオンのままにならない

分類Dev

チェックボックスがオン/オフのときにイベントを実行するGridviewC#

分類Dev

HTMLフォームのチェックボックスがオンまたはオフのイベントでアクションを実行する

分類Dev

ターゲット要素で実際のマウスクリックが開始されなかったときに、クリック時イベントがトリガーされないようにするにはどうすればよいですか?

Related 関連記事

  1. 1

    Ext Jsグリッドフィルターでフィルターメニューのチェックボックスがオフになっているときにイベントをトリガーしますか?

  2. 2

    javascript-チェックボックスがオン/オフのときにイベントをトリガーします

  3. 3

    javascriptを使用して入力[チェックボックスまたはラジオボタン]が変更されたときに変更イベントを取得(またはトリガー)する方法

  4. 4

    イオンアイテムIonic4をクリックしたときにチェックボックスをトリガーしない方法はありますか?

  5. 5

    Vanilla JSを使用して、チェックボックスをオンにし、チェックボックスをオフにしたときにclearInterval()をトリガーしてsetInterval()をトリガーするにはどうすればよいですか?

  6. 6

    イベント/トリガーを定期的にチェックするためのよりエレガントな方法はありますか?

  7. 7

    チェックボックスがオンまたはオフのときにトーストを表示するにはどうすればよいですか?

  8. 8

    チェックボックスのjavascriptクリックイベントにより、チェックボックスがオフになります

  9. 9

    jQueryでラジオボタンがチェックされたときにイベントをトリガーする方法

  10. 10

    チェックボックスがオンになっている場合、またはチェックボックスがオフになっている場合は値を削除するときに、別のテキストボックスでチェックボックス値とテキストボックス値の合計を取得するにはどうすればよいですか?

  11. 11

    Angularで「上記のオプションのどれでもない」をクリックしたときにチェックボックス項目の残りをリセットする方法はありますか?

  12. 12

    Knockout.jsのクリックイベントでチェックボックスがオンになっているかどうかを確認します

  13. 13

    PhotoSwipe:イベントハンドラーを「init」イベントにアタッチする方法、またはプラグインがライトボックスを開いたときに接続する方法はありますか?

  14. 14

    ラベルをクリックしたときにチェックボックスをトリガーしないことは可能ですか?

  15. 15

    チェックボックス付きのコンボボックスを作成しましたが、チェックボックスがオンになっているとイベントをキャッチできません

  16. 16

    DataTableの各行にはチェックボックスがあります。新しいチェックボックスをオンにしたときに、前のチェックボックスをオフにする方法

  17. 17

    リストアイテムをクリックするときにチェックボックスをオンまたはオフにします

  18. 18

    TFSサービスのWebフックイベントが失敗したとき、またはWebフックの状態に変化があったときに通知を設定する方法はありますか?

  19. 19

    チェックボックスがオンになっているときに、ビューからコントローラーにチェックボックス値を動的に渡すにはどうすればよいですか?

  20. 20

    すべてのListViewチェックボックスがチェックされているときにJavaFXイベントをトリガーするにはどうすればよいですか?

  21. 21

    HTMLボタンまたはJavaScriptをクリックしたときにファイルのダウンロードをトリガーする方法

  22. 22

    チェックボックスは日付を設定しますが、フォームの読み込み時にオフになっているように見えます:読み込み時にイベントが必要ですか?

  23. 23

    jqueryまたはjavascriptを使用して2つのチェックボックスがオンになっている場合、divのリストをフィルタリングするにはどうすればよいですか?

  24. 24

    CSS:フォームのすべてのチェックボックスがオンになっているときにCSSのみを使用して検出する方法はありますか?

  25. 25

    スクリーンショットを作成するときにダイアログボックスをオフにする設定はありますか?

  26. 26

    他のフィールドで検証がトリガーされたときにチェックボックスがオンのままにならない

  27. 27

    チェックボックスがオン/オフのときにイベントを実行するGridviewC#

  28. 28

    HTMLフォームのチェックボックスがオンまたはオフのイベントでアクションを実行する

  29. 29

    ターゲット要素で実際のマウスクリックが開始されなかったときに、クリック時イベントがトリガーされないようにするにはどうすればよいですか?

ホットタグ

アーカイブ