1. ホーム
  2. jquery

[解決済み] jQueryを使用します。チェックボックスがチェックされていないかどうかをテストする

2022-07-05 15:28:55

質問

私はこれを理解するのに苦労しています。私は2つのチェックボックスを持っています(将来的にはもっと持つことになります)。

  • checkSurfaceEnvironment-1
  • checkSurfaceEnvironment-2

基本的には、if文を書いて、そのうちの1つがチェックされ、もう1つがチェックされていないかどうかをテストしたいのです。以下のようなことを実現する最も簡単な方法は何でしょうか。

if ( $("#checkSurfaceEnvironment-1").attr('checked', true) &&
     $("#checkSurfaceEnvironment-2").is('**(NOT??)** :checked') ) {
        // do something
}

どのように解決するのですか?

私が使っている信頼できる方法のひとつは

if($("#checkSurfaceEnvironment-1").prop('checked') == true){
    //do something
}

チェックされた要素に対して反復処理を行いたい場合は、親要素である

$("#parentId").find("checkbox").each(function(){
    if ($(this).prop('checked')==true){ 
        //do something
    }
});

もっと詳しく

これは、すべてのチェックボックスがチェックボックスの実際の状態を保存するプロパティ checked を持っているため、うまく動作します。必要であれば、ページを検査し、チェックボックスをチェックしたり外したりしてみると、属性 "checked" (存在する場合) が同じままであることに気付くでしょう。この属性は 初期状態 を表すだけであり、チェックボックスの 現在の の状態ではなく、チェックボックスの 現在の状態は、そのチェックボックスの dom 要素のプロパティ checked に格納されます。

参照 HTML のプロパティと属性